CH376初始化異步串口問題

void CH376_PORT_INIT( void ) /* 由于使用異步串口讀寫時(shí)序,所以進(jìn)行初始化 */ { /* 如果單片機(jī)只有一個(gè)串口,那么必須禁止通過串口輸出監(jiān)控信息 */ SCON = 0x50; PCON = 0x80; // TL2 = RCAP2L = 0 - 18432000/32/UART_INIT_BAUDRATE; /* 18.432MHz晶振 */ TL2 = RCAP2L = 0 - 24000000/32/UART_INIT_BAUDRATE; /* 24MHz晶振 */ /* 建議通過硬件引腳設(shè)定直接選擇更高的CH376的默認(rèn)通訊波特率 */ TH2 = RCAP2H = 0xFF; T2CON = 0x34; /* 定時(shí)器2用于串口的波特率發(fā)生器 */ RI = 0; } 如果是計(jì)算機(jī)通過異步串口和CH376模塊連接,應(yīng)該怎么改寫這個(gè)函數(shù)?

這個(gè)是單片機(jī)的初始化,計(jì)算機(jī)上面會(huì)有接口函數(shù)設(shè)置波特率的。這個(gè)你只需要參考計(jì)算機(jī)的串口編程就可以了啊。


多謝 那串口寫命令xWriteCH376Cmd里的TI和SBUF在計(jì)算機(jī)里要怎么表示,是依次將sbuf的數(shù)據(jù)從串口輸出?

xWriteCH376Cmd( unsigned char mCmd ) /* 向CH376寫命令 */ { TI = 0; SBUF = SER_SYNC_CODE1; /* 啟動(dòng)操作的第1個(gè)串口同步碼 */ while ( TI == 0 ); TI = 0; SBUF = SER_SYNC_CODE2; /* 啟動(dòng)操作的第2個(gè)串口同步碼 */ while ( TI == 0 ); TI = 0; SBUF = mCmd; /* 串口輸出 */ while ( TI == 0 ); }


通過計(jì)算機(jī)串口發(fā)送相對(duì)應(yīng)的數(shù)據(jù)。


CByteArray a; a.SetSize(3); a.SetAt(0,SER_SYNC_CODE1); a.SetAt(1,SER_SYNC_CODE2); a.SetAt(2,CMD11_CHECK_EXIST); m_ctrlComm.SetOutput(COleVariant(a)); m_ctrlComm.SetOutput(COleVariant("0x65"));

這樣寫測(cè)試通訊接口和工作狀態(tài),不過串口中一直沒有數(shù)據(jù)返回,是不是哪里用錯(cuò)了,想問一下貴公司提供的ch376dbg里是怎么實(shí)現(xiàn)寫命令和讀返回?cái)?shù)據(jù)的?


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

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