謝謝 求助:波特率設(shè)置的問題?

/* 為printf和getkey輸入輸出初始化串口 */ void mInitSTDIO( ) { SCON = 0xD0; PCON = 0x80; TMOD = 0x20; TH1 = 0xf3; /* 24MHz晶振, 9600bps */ TR1 = 1; TI = 1; }

main( ) { UINT8 i; CH375_PORT_INIT( ); /* LED_OUT_INIT( ); LED_OUT_ACT( ); /* 開機(jī)后LED亮一下以示工作 */ mDelay100mS( ); /* 延時(shí)100毫秒 */ LED_OUT_INACT( ); mInitSTDIO( ); /* 為了讓計(jì)算機(jī)通過串口監(jiān)控演示過程 */ /// 在默認(rèn)9600波特率下與375通信; xWriteCH375Cmd(CMD_SET_BAUDRATE); //設(shè)置新的375波特率,設(shè)置為57600 xWriteCH375Data(0x03); //輸入分頻系數(shù) xWriteCH375Data(0xCC); //輸入分頻常數(shù)

TH1 = 0xFF;//重新設(shè)置單片機(jī)的波特率, 單片機(jī)始終為24MHz. i = CH375LibInit( ); /* 初始化CH375程序庫和CH375芯片,操作成功返回0 */ mStopIfError( i ); /* 其它電路初始化 */

使用單片機(jī)時(shí)鐘為24M ,波特率為115200. 一直不能通訊.是不是誤差大啊.??還是設(shè)置錯(cuò)誤啊!

??


你在未改變波特率,也就是9600時(shí)能通信嗎? 還有就是設(shè)置375波特率之后,要有1mS左右的延時(shí)。


在未改變波特率, 可以通訊

i = CH375FileClose( ); /* 關(guān)閉文件 */ xWriteCH375Cmd(CMD_SET_BAUDRATE); //設(shè)置新的375波特率,設(shè)置為57600 xWriteCH375Data(0x03); //輸入分頻系數(shù) xWriteCH375Data(0xCC); //輸入分頻常數(shù) mDelay100mS( ); TH1 = 0xFF;//重新設(shè)置單片機(jī)的波特率, 單片機(jī)始終為24MHz.

mStopIfError( i ); mCopyCodeStringToIRAM( mCmdParam.Create.mPathName, "/PDF.C" ); /* 文件名,該文件在根目錄下,剛才已經(jīng)提供給CH375FileOpen */ mDelay100mS( ); mDelay100mS( ); LED_OUT_INACT( ); i = CH375FileCreate( ); mStopIfError( i ); mCmdParam.Close.mUpdateLen = 1; /* 自動(dòng)計(jì)算文件長度,以字節(jié)為單位寫文件,建議讓程序庫關(guān)閉文件以便自動(dòng)更新文件長度 */ mDelay100mS( ); mDelay100mS( );

i = CH375FileClose( ); /* 關(guān)閉文件 */ 程序在執(zhí)行完LED_OUT_INACT( );以后就不在變化 ,LED_WR_INACT( );沒有被執(zhí)行!是什么原因啊???使用單片機(jī)時(shí)鐘為24M ,波特率為115200. 一直不能通訊.是不是誤差大啊.??還是設(shè)置錯(cuò)誤啊!


那你這樣做下,在你設(shè)置好375的串口波特率之后,在將單片機(jī)的波特率設(shè)置為115200之后,你讀取下設(shè)置波特率的狀態(tài)是什么,并且設(shè)置波特率要在1MS之內(nèi)完成


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

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