1樓:匿名使用者
配置復串列埠、開啟串列埠,制成功後就會收到對端發來的資料;在傳送文字框輸入就可以傳送了(一般可以選字元和hex十六進位制串兩種)
校驗位不需要寫入,配置是就設定了,驅動會寫。
配置例子:9600,n,8,1。呵呵。
2樓:匿名使用者
要看你的下位機也就是微控制器的配置有沒有校
驗位和幾位停止位了 有的話版確定幾位然後根權據那個來設定的 一般是1位起始位8位資料位1位停止位 無校驗位 但有時就不一定了 主要看微控制器哈 至於怎麼用上樓也說得很清楚了
起始位始終是有的 停止位有1.5 2 1三中選擇校驗位好像是有5中吧就看你的微控制器支援了 如果有肯定要選否則會收發錯誤的
3樓:萍水e相逢
串列埠來通訊 2 端的
源 設定要一bai
致請看du
科 吧串列埠通訊dao
4樓:露寶寶我愛你
首先你的硬體電路要有串列埠通訊電路,微控制器內要有串列埠通訊的程式,都具備了以後用串列埠線連線好微控制器和電腦,開啟串列埠通訊程式傳送資料就可以了
在除錯rs232串列埠通訊時,微控制器往pc機上發資料,串列埠除錯助手可以接收,但是pc往微控制器發資料,接收不到。
5樓:
先解釋一下現象:
(1)max232的12腳即r1out連線到了微控制器的rx腳,因此使用探頭碰max232的12引腳時匯入了干擾訊號,所以接收到了亂的資料。同時,也證明了微控制器的接收電路和程式都沒有問題。
(2)板子上的地接到示波器上的地,pc才能收到資料,說明微控制器與pc沒有共地。同時,也證明了微控制器的傳送電路、程式和pc的接收電路都沒有問題。
原理:(1)pc的串列埠即rs232有9個引腳,與微控制器通訊時用到三個引腳,依次是2腳rx、3腳tx、5腳訊號gnd。
(2)而微控制器串列埠與此相反,2腳tx、3腳rx、5腳訊號gnd。
(3)只要把這三根線依次連線,2-2、3-3、5-5即可完成通訊。
(4)同時,根據實際通訊裝置介面不同,串列埠線也分多種,如直連線、交叉線、公母頭區別等。
故障排除流程:
(1)用萬用表等測量max232的14腳t1out與開發板序列介面的2腳tx、max232的13腳r1in與開發板序列介面的3腳rx、開發板序列介面的5腳與電源地是不是分別連線。如果連線沒問題,則進行下一步。
(2)用萬用表等測量串列埠線,pc端的2腳與微控制器端的2腳、pc端的3腳與微控制器端的3腳、pc端的5腳與微控制器端的5腳是不是分別對應,如果對應連線沒問題,則進行下一步。
(3)將pc上序列介面的2、3引腳短接。
(5)如果收不到,則說明pc的串列埠問題(排除串列埠工具沒有開錯串列埠或短接沒問題的情況下),換台電腦試下。能收到,則說明電腦端收發都沒問題,進行下一步。
(6)將串列埠線插到電腦上,開發板端的插頭不插而直接將2、3腳短接。再次用串列埠工具傳送,看是否能接收到,如果能接收到,則證明串列埠線沒問題,進行下一步。
(7)將串列埠線插到開發板得序列介面上,再使用串列埠工具收發。
(8)如果以上都不行,則自己做3根線,也可以使用杜邦線,將pc的tx與開發板的rx、pc的rx與開發板的tx、pc的訊號地與開發板的地分別相連。再用串列埠工具收發測試。
通過以上步驟,則可以逐步排查到問題的具體原因。不過,根據問題及之後的描述,最大的可能性是串列埠線用的不對,導致pc串列埠與開發板串列埠的3根線沒有分別對應上。
6樓:
如果用的是51微控制器,除了確認電纜沒問題外,
可以查一下又沒有可能不小心把對應rxd的sfr給賦值0了,查這個不一定要看程式,可以拔掉微控制器晶元看串列埠上接收引腳波形,不好拔的話,按住微控制器復位開關不鬆手也許也可以。
7樓:匿名使用者
微控制器往pc上能發說明串列埠本身應該沒有問題:如果是你自己做的板子最好檢視一下微控制器接收那一路是否有虛焊或有短路情況(直接使用現成的開發板無視)。
然後仔細檢視下程式是否有問題,再在程式中下斷點,就下在接收到資料的下一條**。然後發資料,如果斷住說明資料收到了,是後面處理點亮led的**的問題。如果沒有那就是沒接收到。
還沒有就再使用示波器,示波器要設定成低電平觸發模式,微控制器的串列埠(tx,rx)平時都是高電平,起始位是低電平,後面就是你設定的資料位(7位或8位),還有停止和校驗位根據你設定的情況。資料傳送都是瞬間完成的,所以一定要使用觸發模式,如果捕捉不到,說明pc端的傳送有問題,可以換個串列埠除錯工具,還不行換跟串列埠線,再不行換台電腦。一般到此問題肯定能解決了啊(除非中途有操作失誤的情況)
另外,一般使用串列埠還是使用中斷模式,可以節省系統資源,降低功耗!
8樓:
步驟一,串列埠除錯可以對你的微控制器
傳送嗎?如果可以,那就是你pc程式問題,如果不可以,那就是你微控制器問題,但是也可能是步驟二問題。
步驟二:傳送資料不對,一般常見的,比如16進製制傳送?還是acsii傳送?
步驟三:學會使用「串列埠監視」的小工具,監視資料報是否遵循協議。
步驟四:看你pc程式吧。用串列埠監視工具可以發現,可能你的pc程式都沒有包出來。
9樓:
1、微控制器串列埠控制在scon裡有個ren暫存器設定正確嗎?接收允許標誌。
2、串列埠中斷開了嗎?即使是查詢方式也要有ri狀態可以查詢才能接收。
3、微控制器串列埠接收最好還是用中斷方式,方便的多void isr_serial(void) interrupt 4sbuf= i; // echo
while(!ti);
ti = 0;}
用串列埠除錯助手向微控制器傳送資料,微控制器怎麼接受並儲存到乙個陣列中
10樓:匿名使用者
你說復的這種通訊要求制可以採用幀傳送的方式,自己要確定乙個幀格式,例如:
0x55//幀頭標誌
0xaa
//128位元組資料
校驗位元組1
校驗位元組2
校驗位元組是防止資料傳輸錯誤,校驗方式可自行選擇。
如果資料不是很重要,定義乙個132位元組接收佇列(全域性變數陣列),如果資料很重要,定義兩個132位元組接收佇列,乙個做接收緩衝,接受正確才更新正式佇列。還要定義乙個接收指標,當接收到幀頭標誌,接收指標清零,以後每接收乙個字元,以接收指標做下標將資料存入接收陣列。
微控制器串列埠通訊問題。當我在電腦上用串列埠助手向微控制器傳送一串字串以後,我希望微控制器用乙個變數把字元
11樓:做而論道
通訊雙來方,需要制定一源個協議。
字串開bai始符、結束符,校du驗碼...,都要協商好。zhi簡單例dao
程參考。
微控制器串列埠通訊,除錯時發出訊號正常,但是接收不到訊號,有懂程
我也是初學,看不懂傳送函式的這句 while ti 0 ti 0 是不是有點問題?微控制器串列埠通訊,串列埠助手除錯收發都正常,接到一塊就不正常 請問您是怎麼解決的?謝謝 每片微控制器單獨與串列埠助手通訊成功。說明你的2個微控制器串列埠通訊都很正常,但2個微控制器合在一起就通訊不成功,傳送 接受不到...
微控制器介面不夠怎麼辦,使用微控制器,當串列埠數目不夠,該怎麼辦
擴充套件介面,可以使用8259等電路搭接。謝謝採納。微控制器 選型 時 考慮 這個問題 選擇 介面多的 微控制器 1 在現有硬體的基礎上擴充套件介面 2 更換介面更多的微控制器 3 設法減少現有硬體使用的介面數 使用微控制器,當串列埠數目不夠,該怎麼辦?這要bai看你用什麼微控制器,當串du口數不夠...
利用串列埠,51微控制器與電腦間的通訊怎麼做
用uart非同步序列通訊方 bai式 51序列口有 du4種工作zhi方式,在序列口的dao4種工作方式中,方版式0主要用於擴權展並行i o口,方式1 2 3則主要用於序列通訊。pc機的序列介面為rs232形式的介面,其高低電平的規定與微控制器所規定的ttl電平不同,所以微控制器上也必須有232介面...