1樓:匿名使用者
方法多的去了,把數字37.5轉換為字串「37.5」傳送可以,用壓縮bcd碼0x37、0x05傳送也可以,多得是。不一定一定要浮點處理。
2樓:匿名使用者
你自己定一個協議,1次發6個資料,選擇其中的2個作為資料,其他作為驗證碼,另一個微控制器接收到就演算法處理
3樓:匿名使用者
微控制器不支援浮點運算的,你可以申請兩個變數, 把整數和小數分兩次發,如果有疑問,歡迎提問
4樓:沙裡波特
用兩個位元組,可以發出的資料是:0~65535,接收方,再進行換算即可。
5樓:匿名使用者
你定義個變數為抄float的,是兩個襲位元組,傳送的時候將float分成兩個位元組傳送就可以了。
union
fc;計算的時候用f,發
送的時候發ch。就可以了。
6樓:匿名使用者
全部當整數處理不就得了!
7樓:大雨落幽燕白
把小數當成整數就得了,單位元組不夠可以多位元組。
51微控制器串列埠傳送資料
8樓:做而論道
程式採用了查詢copy式傳送,for(i=0;i<6;i++) ,共發bai送了6個字元。
再去查詢收到否du。
這種方法zhi,就是有問題的,發
dao送6個字元時,就可能收到了好幾個字元,而沒有及時儲存,完全可能丟失資訊。
應該採用中斷方式接收;傳送,也可以用查詢,也可以用中斷。
方法弄清楚了,程式就容易編寫、除錯了。
9樓:滄水伢子
char handshake (void)裡面抄:
for(i=0;i<6;i++)
襲 while(ri)
這裡不能這麼用,否則傳送發完了,還沒收到(此時ri=0)就返回主程式傳送1,2,3了。這裡要加一句while(!ri);
改為:for(i=0;i<6;i++)
while(!ri);
while(ri)
{............
51微控制器 串列埠傳送幾組資料
10樓:匿名使用者
微控制器 串列埠傳送復多位元組
資料,制可以一個一個的傳送,即
傳送 一個 位元組,等待傳送 完畢,接著傳送 下一個位元組,再等待傳送 完畢。
再傳送 一個 位元組,- - -
接收也是一樣,一個一個接收,
一般 多位元組傳送 與 接收,可以設計一個 通訊 協議,如 傳送指令碼 - 資料1 - 資料2 - - - 資料n - 校驗碼 - 結束碼
這樣的 通訊 可以不出錯誤。
11樓:匿名使用者
把你的程式列出來。。
12樓:匿名使用者
沒明白你是什麼意思?
51微控制器,通過串列埠助手向微控制器傳送字串,微控制器將字串逆序傳送回計算機,用C語言程式設計
電腦通過串列埠助手向微控制器傳送字串,微控制器定義一個可以儲存7個字元的陣列,依次儲存接收的字串,當接收到7個字串後,就可以從陣列的最後一個字元向前傳送每一個字元給電腦就可以了。剩下的就是串列埠初始化,串列埠接收和傳送程式了,就比較好寫了。其實,電腦傳送任意的7個字元的字串都可以,微控制器收到後就可...
51微控制器串列埠接收資料十進位制,51微控制器在串列埠問題,我們從串列埠上傳送資料是以16進位制的,在微控制器上接收是10進位制的,
即便是傳送ascii碼形式的字元,也可以傳送數字啊,如1234,mcu將收到4個ascii值,然後在mcu端判斷每個是否 0 9 以確保是數字的ascii碼,如果是就將收到的ascii值減去 0 不就得到它的十進位制值了麼。可以這樣 向微控制器傳送非壓縮bcd碼0x01,0x02,0x03,0x04...
pic微控制器用串列埠傳送接收資料
當接收到資料時,rcif會被置1,如果讀了接收結果rcreg,則系統自動會把rcif清0。程式把清rcif語句遮蔽了,但txreg rcreg 這一句就是讀接收結果 把接收結果rcreg送到傳送暫存器txreg裡 所以會自動讓rcif清0,只有新資料來時,rcif才會置1,才能再進入中斷。如果把傳送...