1樓:做而論道
程式採用了查詢copy式傳送,for(i=0;i<6;i++) ,共發bai送了6個字元。
再去查詢收到否du。
這種方法zhi,就是有問題的,發
dao送6個字元時,就可能收到了好幾個字元,而沒有及時儲存,完全可能丟失資訊。
應該採用中斷方式接收;傳送,也可以用查詢,也可以用中斷。
方法弄清楚了,程式就容易編寫、除錯了。
2樓:滄水伢子
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微控制器串列埠同時傳送文字和資料 50
3樓:匿名使用者
你看一下send-string這個函式,string指的是字串,要求輸入的引數應該是指標型別,可以
輸入陣列內名稱,也可以直接輸入一串容字元如"i love you"用引號引住,傳送的是asci碼
要想發資料,你可以寫一個發資料的函式,或者將資料變數轉換為地址,
如 uchar a=0x38 想發a的數值可以 send-string(&a)
接收端如果是十六進位制格式就會顯示十進位制56或0x38
如果是文字模式就顯示8
發一連串資料 a[4]=
send-string(a)即可
當然你可以同時發字串和資料,先將資料轉換為字串(陣列),然後用字串拼接函式把原來的字串和資料字串合成一個陣列,再一次發過去
接收端只能以一種方式接收了,要麼文夲,要麼十六進位制
51微控制器 串列埠傳送幾組資料
4樓:匿名使用者
微控制器 串列埠傳送復多位元組
資料,制可以一個一個的傳送,即
傳送 一個 位元組,等待傳送 完畢,接著傳送 下一個位元組,再等待傳送 完畢。
再傳送 一個 位元組,- - -
接收也是一樣,一個一個接收,
一般 多位元組傳送 與 接收,可以設計一個 通訊 協議,如 傳送指令碼 - 資料1 - 資料2 - - - 資料n - 校驗碼 - 結束碼
這樣的 通訊 可以不出錯誤。
5樓:匿名使用者
把你的程式列出來。。
6樓:匿名使用者
沒明白你是什麼意思?
51微控制器用串列埠跟pc通訊進行收發資料
7樓:匿名使用者
//**來
來自 微控制器
自小精靈v1.3
//波特率9600 11.0592晶振 方式2#include
void inituart(void)
void sendonebyte(unsigned char c)void main(void)
void uartinterrupt(void) interrupt 4
else
ti = 0;}
8樓:匿名使用者
程式中是19200.
通訊不上有很多原因,你的電路不對、甚至是連線不對,也會導致通訊不上內.
你可以試試跟蹤你的容程式,看看可否正確地接收到pc發過去的資料,先把接收程式調好,然後再調傳送部分,這樣才有目標.
9樓:windy_諾
樓主試試只傳送一個字元,1或者2,不要12一起傳送。如果硬體,連線沒有問題應該是傳送什麼pc就接收到什麼。
10樓:音悅
我提下問題,你看下是不是:
1、***口對不對
2、波特率在燒錄程式的時候有的,你看下是否相同
51微控制器,如何用串列埠傳送一個變數的值
11樓:匿名使用者
四位數字組合成的值大於256,是一個雙位元組數值,所以需要傳送兩次程式如下:
#include
unsigned char x;
main()
51微控制器串列埠問題 傳送位元組 為什麼串列埠除錯軟體連續接收 下附程式
兩個錯誤復。while ti ti 0 這是一個。制while ti 後面少一個分bai號!變成了,du原本正確的程式是想讓zhiti 1的時候,把daoti清零,但是你現在變成了 當ti為0的時候執行ti 0,而當ti變成1的時候卻反而不執行ti 0了,因此每次傳送完成一個字元以後,ti的值沒有清...
51微控制器串列埠通訊問題
c51微控制器的程式 1 初始化程式 tmod 0x20 th1 0xfd tl1 0xfd 0 0 1 1 ren 1 tr1 1 ea 1 es 1 2 傳送程式 void data send 串列埠傳送資料3 接收資料 void data receive interrupt 4 include...
51微控制器與vb通過串列埠通訊,微控制器為什麼只能傳送0至
傳送大數,你只能多次傳送,一次只能傳送一幀,而串列埠傳送的一幀可能是7 8 9位,由你設定而定。51微控制器是8位的,一次只能處理8位資料,也就是一個位元組,一個位元組只能表示0 255的大小的資料。一個位元組確實只能是0 255,但你可以連續發兩個位元組然後在vb裡面組成一個大於255的數。比如發...