PC機與微控制器通訊!我用RS232進行串列埠通訊,為什麼我是2 2,3 3的連,我用串列埠除錯接收不了

2021-04-21 04:01:40 字數 5260 閱讀 5912

1樓:匿名使用者

rs232的管腳說明

管腳 名稱 作用 中文解釋--------------------------------------------

pin2 rxd receiver 接收資料pin3 txd transmit 傳送資料pin5 gnd ground 地線微控制器的專txd通過rs232晶元的屬txd接rs232的rxd,微控制器的rxd通過rs232晶元的rxd接rs232的txd,微控制器的地接rs232的地

所以要接這3根線才能完成微控制器與pc之間的資料收發。

2樓:香蕉更好吃

2-3,3-2,因為主機發過去的資料是從機要接收的

3樓:匿名使用者

你交叉 試試

其實,就應該用交叉線

電腦 tx 接 單片

機 的 rx

電腦 rx 接 微控制器 的 tx

電腦 gnd 接 微控制器 的 gnd

當然,2 邊的 電平版必須一致

電腦接權口的電

平是標準rs232

微控制器介面的電平是ttl

用 max232 就可以

在除錯rs232串列埠通訊時,微控制器往pc機上發資料,串列埠除錯助手可以接收,但是pc往微控制器發資料,接收不到。

4樓:

先解釋一下現象:

(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根線沒有分別對應上。

5樓:

如果用的是51微控制器,除了確認電纜沒問題外,

可以查一下又沒有可能不小心把對應rxd的sfr給賦值0了,查這個不一定要看程式,可以拔掉微控制器晶元看串列埠上接收引腳波形,不好拔的話,按住微控制器復位開關不鬆手也許也可以。

6樓:匿名使用者

微控制器往pc上能發說明串列埠本身應該沒有問題:如果是你自己做的板子最好檢視一下微控制器接收那一路是否有虛焊或有短路情況(直接使用現成的開發板無視)。

然後仔細檢視下程式是否有問題,再在程式中下斷點,就下在接收到資料的下一條**。然後發資料,如果斷住說明資料收到了,是後面處理點亮led的**的問題。如果沒有那就是沒接收到。

還沒有就再使用示波器,示波器要設定成低電平觸發模式,微控制器的串列埠(tx,rx)平時都是高電平,起始位是低電平,後面就是你設定的資料位(7位或8位),還有停止和校驗位根據你設定的情況。資料傳送都是瞬間完成的,所以一定要使用觸發模式,如果捕捉不到,說明pc端的傳送有問題,可以換個串列埠除錯工具,還不行換跟串列埠線,再不行換台電腦。一般到此問題肯定能解決了啊(除非中途有操作失誤的情況)

另外,一般使用串列埠還是使用中斷模式,可以節省系統資源,降低功耗!

7樓:

步驟一,串列埠除錯可以對你的微控制器

傳送嗎?如果可以,那就是你pc程式問題,如果不可以,那就是你微控制器問題,但是也可能是步驟二問題。

步驟二:傳送資料不對,一般常見的,比如16進製制傳送?還是acsii傳送?

步驟三:學會使用「串列埠監視」的小工具,監視資料報是否遵循協議。

步驟四:看你pc程式吧。用串列埠監視工具可以發現,可能你的pc程式都沒有包出來。

8樓:

1、微控制器串列埠控制在scon裡有個ren暫存器設定正確嗎?接收允許標誌。

2、串列埠中斷開了嗎?即使是查詢方式也要有ri狀態可以查詢才能接收。

3、微控制器串列埠接收最好還是用中斷方式,方便的多void isr_serial(void) interrupt 4sbuf= i; // echo

while(!ti);

ti = 0;}

微控制器與pc機rs232串列埠通訊,我的程式在虛擬串列埠下沒問題,一到物理串列埠下,串列埠除錯助手就顯示亂碼

9樓:匿名使用者

硬體只要3根線就可以,傳送,接收,地。注意傳送要接對方的接收。根據您提到的情況,可能是地線沒有接對。

10樓:匿名使用者

晶振或波特率設定不一致?

微控制器中的做rs232串列埠通訊時,我的資料總是無法傳到微控制器實驗板上,我用的線是usb轉串列埠線

11樓:

程式沒問題

就從連線方面幫你分析下

1.除錯助手通訊協議,波特率(還是該對應程式版檢查下),埠號

2.線的問題:權rs232的2,3口短接看看3.也可以更改下除錯助手的收發格式:有可能是hex格式 點點試試

12樓:匿名使用者

感覺在確認

1:微控制器程式

2:串列埠助手使用

正確後;

再確認一下:

從串列埠傳送出去的資料格式是否是你程式中認為的資料格式(可以在串列埠助手中設定)

比如,微控制器是以char定義接收,而你傳送是以asc碼的形式。

13樓:匿名使用者

教你個最簡單bai的方法,把微控制器du的tx,rx這兩個引腳短zhi接了,看

你的「串列埠除錯dao助手v2.2.exe」是回不是有接到你從「串答口除錯助手v2.

2.exe」傳送出來的資料,如果有是你的微控制器電路或程式有問題,如沒有接到,說明你的usb轉串列埠線,或是驅動等方面有問題,先查下是哪齣問題再來解決!!!

14樓:匿名使用者

微控制器晶振,程式設計熔絲位,用外部晶振

求串列埠通訊程式,採用c8051f020微控制器,通訊rs232,用串列埠除錯助手,能傳送和接收資訊,顯示在12864,用c

15樓:匿名使用者

推薦一本書,微控制器c語言程式設計實訓100例——基於8051+proteus** 這個不錯

16樓:

搞個串列埠模擬程式就可以了

17樓:匿名使用者

建議 去 我的領地 5d6d 的 proteus 論壇看看

那裡有很多 微控制器**例項,包括proteus **圖 和 原始碼

在除錯rs232串列埠通訊時,微控制器往pc機上發資料,串列埠除錯助手可以接收,但是pc往微控制器發資料,接收不到。

18樓:吃飯自殺的豬

那樣是串列埠助手

源肯定收不到pc下發的資料的

232是三線的 發(tx),收(rx)和地(gnd)pc和mcu應該這樣連線

pc mcu

tx <--- > rx

rx <---> tx

gnd -- gnd

mcu和串列埠助手應該這樣連線

mcu 串列埠助手

rx <---> tx

tx <----> rx

gnd ---- gnd

串列埠助手和pc應該這樣連線:

pc 串列埠助手

tx < --- > rx

rx <----> tx

gnd ---- gnd

按照題意,你的連線方式一定是

pc 串列埠助手

tx < --- > tx

rx <----> rx

gnd ---- gnd

這樣是肯定收不到資料的

解決辦法: 把串列埠助手的收和發兩跟線位置換一下注意: 觀察微控制器串列埠資料時 又要換回來

19樓:匿名使用者

檢查下線路.

你是如何確定微控制器未收到資料的.

檢查下pc電腦的串列埠是否正常

20樓:匿名使用者

估計是微控制器串列埠接收有問題,接收是中斷還是查詢方式?中斷的話要注意每進入中斷要記得清中斷標誌位,查詢的話比較好理解,應該不會有大的問題,只要程式正確

51微控制器要把採集到的資料傳給電腦上的串列埠除錯助手,我用usb轉天堂里線可以嗎?還是必須得用rs232?

21樓:匿名使用者

現在的電腦幾乎都沒有串列埠了,所以,要用一條usb轉串列埠線,不是天堂里線,是打錯內

字了吧。要用usb轉串列埠容線,可以是先在電腦上安裝驅動程式的。買usb轉串列埠線時,要向店家要驅動程式的。

轉串列埠線一端就是rs232串列埠了。這要看你的微控制器板上有沒有rs232串列埠了,如果沒有,可以買乙個usb轉ttl模組,這樣,ttl端的3條線就可以直接與微控制器的txd,rxd,gnd相連就行了。

是要是實際應用,最好還是在微控制器板上加乙個rs232介面更安全。

微控制器用CAN匯流排與PC通訊,請問CAN協議用什麼晶片如何連線

巨季雅 你的問題本身就是有問題的 can協議用什麼晶片 pc機和一些外圍裝置一般通過 序列通行方式 232串列埠或usb 要想can和pc 通訊,必須轉換,你需要用can rs232轉換器,或者帶轉接功能的pci卡 不推薦 如果通過232序列方式,只需在pc機編寫軟體就行了,也可以用串列埠除錯助手,...

微控制器與PC串列埠通訊程式,要求如下

這種問題必須你自己解決,雖然道理簡單,但是做起程式來還是挺麻煩,好好學學吧,自己弄懂之後你會很有成就感,沒有人會願意花上半上午的時間給你做這個程式的 微控制器與pc用串列埠通訊需要什麼條件?pc的串列埠的電平邏輯1是 3 15v邏輯0是 3 15v跟微控制器0 5v電平是不相容的 所以需要max23...

微控制器與觸控式螢幕如何通訊,微控制器與觸控式螢幕通訊 10

唸經打坐 實現單機片與觸控式螢幕通訊有四個步驟 1 觸控式螢幕與微控制器的硬體聯接 2 建立觸控式螢幕與微控制器的內部儲存器地址對應關係 3 觸控式螢幕組態軟體編輯 4 modbus rtu 遠端終端裝置 通訊協議簡介 下面介紹三種方案 第一種使用微控制器 串列埠觸控式螢幕 比較貴點 使用232或者...