CH376 不能更改波特率[求助]

串口方式控制CH376讀寫U盤,9600波特率下,所有功能都測試通過,但更改波特率時,命名毫無作用 1,將波特率設成(19200,57600等),單品機立即更改為相應波特率,單片機收不到任何數(shù)據(jù),和模塊失去連接。 2,將波特率設成(19200,57600等),單品機然保持9600波特率,能繼續(xù)和CH376通信。 因此猜想改變波特率的命令根本沒對模塊起作用。 望知情者指點,

沒設置成功。 這樣,你按照CH376DS1 6.4節(jié),用硬件設置的方法試一下看能否成功。 可以將你的程序貼出來,看看你是怎么設置的


用硬件的方法是可以的,但我需要波特率可選 #define UART_WORK_BAUDRATE 57600L xWriteCH376Data( 0x03 ); xWriteCH376Data( 256 - 6000000/UART_WORK_BAUDRATE ); SET_WORK_BAUDRATE( ); /* 將單片機切換到57600正式通訊波特率 */ res = xReadCH376Data( );/*串口無任何數(shù)據(jù)返回,增加或調(diào)整延時也無效*/

再用9600重新調(diào)用初始化函數(shù),竟然還有效


問題還未解決,有沒有人知道啊,望指點


如果沒有修改成功,你重新復位一下試一下。 如果9600是完全正常的,并且硬件修改也是可以的,軟件肯定是可以行的。你把你的初始化函數(shù)貼出來看看。在2樓貼出的幾句話之前做了什么動作。


UINT8 res; CH376_PORT_INIT( ); /* 接口硬件初始化 */ xWriteCH376Cmd( CMD11_CHECK_EXIST ); /* 測試單片機與CH376之間的通訊接口 */ xWriteCH376Data( 0x55 ); res = xReadCH376Data( ); if ( res != 0xAA ) return( ERR_USB_UNKNOWN ); 更改波特率 ...


???


那你少發(fā)一條命令: xWriteCH376Cmd( CMD21_SET_BAUDRATE ); /* 設置串口通訊波特率 */ xWriteCH376Data( 0x03 ); xWriteCH376Data( 256 - 6000000/UART_WORK_BAUDRATE ); SET_WORK_BAUDRATE( ); /* 將單片機切換到正式通訊波特率 */ res = xReadCH376Data( ); if ( res != CMD_RET_SUCCESS ) return( ERR_USB_UNKNOWN ); /* 通訊波特率切換失敗,建議通過硬件復位CH376后重試 */


最近發(fā)現(xiàn)讀文件也非常不穩(wěn)定, 已經(jīng)返回了可讀取的長度,但讀時卻沒有數(shù)據(jù)返回 比如讀256個字節(jié),可以讀到芯片返回的可讀取字節(jié)為255,后面卻沒有任何數(shù)據(jù)


你還是要好好研究一下參考程序。這是你的程序有問題??纯碆yteRead函數(shù)吧。申請字節(jié)數(shù)和實際寫入字節(jié)有差別,要繼續(xù)申請


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

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