1樓:匿名使用者
首先你的意思是不是說要接收25 個位元組或32個位元組,而不是你說的25位,處理只處理前20個位元組。對於你這個問題,有很多細節未解 釋清楚,分兩種情況:一神卜是計算機主動去讀資料:
你讀 微控制器的資料,肯定會傳送乙個命令請求資料,然後微控制器返回資料(主從式公升巖),對於這種情況你每次傳送讀取命令前,首先將接收緩衝區清空,每次讀資料唯讀20個位元組,餘下的5個或12個位元組等到下次傳送讀取命令前將他從接收緩衝區清除。二遊笑穗是計算機是被動接收,而單片 機以固定的間隔主動傳送資料,這種情況下根據間隔時間採取相應辦法處理,你可採用串列埠超時。
2樓:匿名使用者
嗨~~~那麼簡單。串列埠謹友巧這個通訊技術已經相對落後了。你用祥鍵mscomm控制項就可以了,其中比較重點就是,接收過來的資料型別是多種的,所以要用variant這個結構體。
其它都沒什麼了。我以前寫了乙個軟體,code我都注告悉釋,有需要可以給你參考下。
3樓:匿名使用者
串列埠操作和文中差件差不多··就是openfile redefile writefile closefile 就行··集體操作可以看看彎激相關引數埋培襪就行··很簡單的··
4樓:匿名使用者
不知道怎麼做,不好意思,幫不上你的忙!
5樓:匿名使用者
好難啊,你是高材生啊,我不會,太難了。
c++串列埠資料接收,如何把需要的資料提取出來??
6樓:網友
串列埠的本質是乙個個字元發的,所以你收到的時候有可能不是乙個完整的位元組。你可以乙個個字元判斷,收到完整的一行資料後進行處理。
c++從串列埠接收資料怎麼實現?
7樓:黑色十月
要看你是用串列埠通訊還是網路通訊,基本思路都差不多,串列埠通訊的話開啟乙個串列埠埠,一般是com1,一直監聽,等待資料,網路通訊的話開啟乙個網路埠,封裝乙個資料庫和傳輸的二進位資料的結構(類),這個類用於儲存資料庫中的欄位並且能把資料庫中的欄位轉換為一串二進位的位元流,在通過相應的埠傳送出去,用。net寫起來簡單一些,c++的話要差好多相關函式。補充:
c#中串列埠通訊用 ,網路通訊用 ,.net裡已經封裝好了一些事件,直接拿來就可以用了,c++的話還要自己寫好多東西,有點麻煩。
c++ mfc串列埠接收的資料怎麼處理?
8樓:網友
"0459"在字串中位置固定嗎?固定的話,你收到資料,直接擷取這一部分,然後字串轉換成十六進位。
我用c++寫了乙個串列埠程式,怎樣知道有資料要接收。
9樓:網友
一般是通過訊息盒子來通知的。
如果用serialport類的話。
initport();//首先初始化串列埠。
startmonitoring();//然後啟動監控void cmydlg::oncom(uint dat, ulong port)//定義oncom函式。
在begin_message_map(cmydlg, cdialog)下面輸入。
on_message(wm_comm_rxchar,oncom)當收到資料時會自動呼叫oncom函式。
10樓:匿名使用者
用mscomm控制項。
控制項 有訊息函式。
推薦看書。visual c++_turbo c串列埠通訊程式設計實踐。
c++串列埠通訊接收的資料怎麼變成十六進位的啊
11樓:網友
使用靜態文字控制項cstatic,先用cstring型別按照你想顯示的格式化字串,然後呼叫cstatic的設定文字函式就可以了。
12樓:匿名使用者
進行記憶體拷貝 在格式化輸出「%x」
C串列埠接收資料問題
你傳送的又不是ascii編碼,應該類似於這樣接收int datalength serialport1.bytestoread byte ds new byte datalength int len serialport1.read ds,0,datalength 然後對這個byte中的每個byte轉...
C串列埠資料讀取,cc2431通過串列埠將資料包傳送給pc,我希望通過c編寫串列埠通訊程式讀取傳送過來的資料
你好!你的這個程式,首先,要分析出cc2431串列埠傳送的內容 cc2431 傳送的是16進位制,微控制器的程式是你自己寫的嗎 由於我電腦主機板沒有com口,無法測試,但是,這種com口的操作,就如你說的,使用serialport類來實現。serialport port new serialport...
C中怎麼向串列埠傳送資料
忘了看你還要把接收的轉回10進位制。接收的如果是按位元組接收 readbyte 那麼接收回來的數直接就可以用10進製表示,如果需要顯示,可以直接在變數之後加.tostring 不明白可直接加我hi 之前的回答 byte t new byte 2 t 0 0xaa t 1 0xbb 串列埠物件.wri...