求助CH375串口波特率設(shè)置問題

我用的單片機(jī)+CH375驅(qū)動打印機(jī),CH375主機(jī)方式下用的串口與單片機(jī)相連,默認(rèn)波特率9600下已經(jīng)驅(qū)動成功,但是我想把波特率設(shè)置成1000000,結(jié)果驅(qū)動不成功,下面是我設(shè)置波特率的程序: void USART_Init(void)// 先把單片機(jī)的波特率設(shè)置成9600 { UCSRA = 0x02; /*倍速*/ UCSRB = 0x1C; /*允許接收和發(fā)送,UCSZ2設(shè)為1*/ UCSRC = 0x86; /*9位數(shù)據(jù),UCSZ1,UCSZ0設(shè)為1,這樣設(shè)置成9位數(shù)據(jù)*/ UBRRH = 0x00; UBRRL = 0x67; /*設(shè)置波特率,9600*/ }

//然后再此波特率下設(shè)置CH375的波特率 xWriteCH375Cmd(0x02); xWriteCH375Data(0x03); xWriteCH375Data(0xFA); //設(shè)置CH375的分辨率為1M, delay_ms(1);

//最后修改單片機(jī)的波特率也為1M,用的AVR單片機(jī) UBRRH=0x00; UBRRL=0x00;

請版主幫我看一下問題出在哪了,非常感謝!

上面的設(shè)置本身沒什么問題,那么你拿1M的波特率去做測試的時候可以通過嗎?還有你那AVR單片機(jī)生成的1M的波特率有沒有誤差?你單片機(jī)的頻率是多少?


我把波特率設(shè)置成115.2K試了下有時候成功,有時候只執(zhí)行幾條指令就停止了。我AVR單片機(jī)晶振是8M,1M的時候誤差是0%,我后來又繼續(xù)降低頻率76.8K、57.6K、19.2K、都不行,都只能執(zhí)行幾條指令,但9600是正確的。 我一直用串口監(jiān)視著程序來著。


我說錯了,剛才測了一下8M下誤差是1.95%,跟這個有關(guān)系吧。


波特率誤差太大,CH375說明書上面有關(guān)于各個波特率的誤差大小。


這個單片機(jī)是設(shè)置不到波特率為1M的


這個單片機(jī)為什么設(shè)置不到波特率1M?。课椰F(xiàn)在改用外部晶振了,已經(jīng)比較準(zhǔn)確了,在500k下可以與單片機(jī)通信。設(shè)置成1M就不對了。


你自己拿ICCAVR編譯器來設(shè)置下看可以不可以?你自己仔細(xì)看下波特率的參數(shù)。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频