免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Wince串口通信

Wince串口通信

(2011-01-24 10:08:39)
 
最近在做一個導航儀的檢測工具,檢測搜星時間和經(jīng)緯度、dB值的一個小工具,第一次用VC++做串口通訊的程序,花了不少時間。昨天終于把程序調完了,今天來理一下,做一個總結,免得下一次又忘記。
首先是串口的初始化,因為師傅說不要用MScomm控件,所以就用API函數(shù)進行初始化?;镜姆椒ň褪莿?chuàng)建文件的形式進行初始化:
DCB dcb;
COMMTIMEOUTS TimeOuts;
hCom=CreateFile(L"COM1:",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
然后獲取串口狀態(tài),將狀態(tài)百村在dcb中:
GetCommState(hCom,&dcb);
接下來就是根據(jù)自己的硬件設置進行串口各個參數(shù)的設置:
dcb.BaudRate=9600;
dcb.ByteSize=8;
dcb.Parity=NOPARITY;
dcb.StopBits=ONESTOPBIT;
dcb.fBinary=TRUE;
dcb.fParity=FALSE;
dcb.DCBlength=sizeof(DCB);
SetCommState(hCom,&dcb);
然后要進行超時的設置:
    GetCommTimeouts(hCom,&TimeOuts);
    TimeOuts.ReadIntervalTimeout=MAXDWORD;    //接收兩個連續(xù)字節(jié)最大時間間隔ms
    TimeOuts.ReadTotalTimeoutMultiplier=MAXDWORD;    //接收每兩個字節(jié)的平均允許時間
    TimeOuts.ReadTotalTimeoutConstant=10000;   
    SetCommTimeouts(hCom,&TimeOuts);
最后要設置輸入輸出緩沖區(qū)的初始化:
    SetupComm(hCom,1024,1024);    //設置輸入輸出緩沖區(qū)
    PurgeComm(hCom,PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);//清空緩沖區(qū)
————————————————————————————————————————————————

在讀取串口緩沖區(qū)的時候,也是用readfile函數(shù),和文件操作一樣的。

————————————————————————————————————————
我的程序主要功能還是對GPS信息的處理,要提取經(jīng)緯度、漂移值、搜星時間等。
搜星時間指的是冷啟動的時候GPS接收器搜到4顆星所用的時間,本機器標準是42秒之內,這樣就要對GPRMC和GPGSV的字符串進行信息的提取。字符的處理一直是我和發(fā)愁的事情,這一次并沒有用什么API庫函數(shù),基本上都是循環(huán)一個字符一個字符來處理的。根據(jù)逗號計數(shù)器來提取想要的數(shù)據(jù),比較重要的是要設置一些標志變量,而且這些標志的賦值一定要在適當?shù)奈恢?。而且逗號計?shù)器一定要在字符串開始和結束的時候清零。
——————————————————————————————————————————
從緩沖區(qū)提取出來的字節(jié)型數(shù)據(jù),判斷的時候可以用相應的十六進制或是本身的字符,例如判斷是否是逗號時可以用以下兩種方法:if(buffer[i]==',')或是if(buffer[i]==0x2c)。在輸出的時候,如果要直接輸出接收的字符串,可以將每一個字節(jié)轉化為CString類型,然后將它們加起來。例如要提取緯度,在第3個逗號時用Format函數(shù)將buffer[i+1]轉化并賦值給已經(jīng)定義好的CString變量。通過循環(huán)處理將9位緯度字節(jié)相加便可得到實際的緯度信息。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VC知識庫文章 - Win32串口編程
PS2轉串口鍵盤WIN端驅動(主要寫了兩個類串口操作類和譯碼類)
異步方式實現(xiàn)串口通信,為什么我的程序寫串口失敗?
基于C語言的java串口通信程序
API串口通信
串口通訊方法(WINAPI實現(xiàn))
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服