CH438Q在使用中波特率莫名会变成24倍频率

在软件配置芯片的波特率为9600后,接口可以正常通信,但是不知什么原因,板卡掉电上电若干次后,波特率就变成了230400的速率,而且是所有接口都变成了这个速率,一直找不到原因。

补充:0号口配置参数

      REG_IER_ADDR  = BIT_IER_RESET ;

      mDelay100mS( );

      mDelay100mS( );

      mDelay100mS( );

      mDelay100mS( );




     REG_IER_ADDR =  REG_IER_ADDR &0x0f;

      mDelay100mS( );

      mDelay100mS( );





      LCR  = REG_LCR_ADDR ;

  LCR |= (1<<7);

      REG_LCR_ADDR =  LCR;


  REG_DLL_ADDR =  0x0c;

  REG_DLM_ADDR =  0x00;


  LCR &= ~(1<<7);

      REG_LCR_ADDR = LCR;



      REG_LCR_ADDR =  (0 << 4)| (0 << 3)| (0 << 2)| (3 << 0);

      mDelay100mS( );


      REG_FCR_ADDR =  0x07;

      mDelay100mS( );


   

      REG_IER_ADDR = 0x04|0x01;

  mDelay100mS( );



  REG_MCR_ADDR =  BIT_MCR_OUT2 ;

  mDelay100mS( );



您好,针对您的这个问题,您可以在每次上电的时候读写CK2Xbit位以及DLL和DLM。看您的这个现象,原因大概率是CK2X位变为了1。从而出现时钟从1/12分频变为了2倍频。出现了所谓的24倍差距。


只有登录才能回复,可以选择微信账号登录