在軟件配置芯片的波特率為9600后,接口可以正常通信,但是不知什么原因,板卡掉電上電若干次后,波特率就變成了230400的速率,而且是所有接口都變成了這個速率,一直找不到原因。
補充:0號口配置參數(shù)
? ? ? 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??茨倪@個現(xiàn)象,原因大概率是CK2X位變?yōu)榱?。從而出現(xiàn)時鐘從1/12分頻變?yōu)榱?倍頻。出現(xiàn)了所謂的24倍差距。