1樓:匿名使用者
在vc++中有兩種方法可以進行串列埠通訊:
一、是利用microsoft公司提供的activex控制元件 microsoft communications control。 microsoft公司在windows中提供了一個串列埠通訊控制元件,用它我們可以很簡單的利用串列埠進行通訊。在使用它之前,應將控制元件加在應用程式的對話方塊上。
然後再用classwizard 生成相應的物件。現在我們可以使用它了。該控制元件有很多自己的屬性,你可以通過它的屬性視窗來設定,也可以用程式設定;
二、直接用vc++訪問串列埠。 在vc++中,串列埠和磁碟檔案可以統一的方式來簡單讀寫。這兩者幾乎沒有什麼不同,只是在windows 9x下磁碟檔案只能做同步訪問,而串列埠只能做非同步訪問。
主要用到的函式有:
createfile:用指定的方式開啟指定的串列埠;
readfile:讀取串列埠資料;
writefile:向串列埠寫資料;
closehandle:關閉串列埠。
2樓:匿名使用者
樓主程式設計的層次而不是應用的層次,樓上的回答有點跑題哦,用ms提供的串列埠通訊控制元件就可以,當然你自己也可以直接呼叫api函式來實現,其實串列埠在windows下也被看成是檔案,你用createfile 等函式來就可以實現了!!
如何實現(電腦)pc機與微控制器的序列通訊
3樓:百度文庫精選
內容來自使用者:xy鴨頭丫頭
4樓:匡秀越
硬體部分有二種情況
1、電腦帶有原生串列埠,就是主機板上帶有序列口,這個情況就太好辦了。用“串列埠除錯助手”測試一下就可以用vb寫程式了。電腦和微控制器用232晶片進行介面轉換。
2、電腦沒有原生串列埠,就是主機板上沒有序列口,這個情況有點麻煩。要用usb轉串列埠的模組,裝好驅動後會在“裝置管理器”中出現一個串列埠,直接當原生串列埠用就行了,而且經過usb轉出來的串列埠一般都ttl電平的,也就是可以直接接微控制器不用232晶片的。不過這也要看你用的是哪種模組了,具體的要看模組說明書。
最後要注意的是波特率和微控制器晶振的選用,不知道你用的是什麼型號的微控制器。
軟體部分,可以用簡單的vb編寫上位機軟體,這方面網上有很多的**。微控制器部分只要按照普通的序列寫程式就行了,測試時可以用“串列埠除錯助手”這款軟體,除錯好後再寫vb程式。
上述是我們做專案和產品的經驗,希望對你有所幫助。
5樓:匿名使用者
pc串列埠訊號電平好在-12v - +12v。需要一塊轉換電路(max232)將其轉成ttl電平,再接到微控制器的相應埠就可以了。
微控制器與微控制器之間如何進行序列通訊?
6樓:匿名使用者
1、將兩個微控制器的rxd與txd相連
2、根據需要傳輸的資料編寫傳輸協議
3、編寫序列通訊程式,將自己需要傳送的資料按照協議進行傳送4、編寫接收程式,按照協議進行接收
5、將兩個程式分別寫入兩個微控制器,執行。
pc機和微控制器的序列通訊怎樣實現!
7樓:匿名使用者
一般的微控制器的串列埠輸出的都是ttl電平,需要外接rs232通訊晶片,將其轉換為cmos電平,才能和pc機進行通訊。
8樓:生活如歌
看這個例子,pc用個串列埠助手或者超級終端。
/*************** writer:shopping.w ******************/
#include
#define uint unsigned int#define uchar unsigned charuchar receive_buffer[101];
uchar buf_index = 0;
uchar code dsy_code=
;void delay(uint x)
}void main()
delay(200);}}
void serial_int() interrupt 4es = 1;
}void ex_int0() interrupt 0}
微控制器與pc機的序列通訊問題
9樓:匿名使用者
#define com1 0
#define data_ready 0x0100#define true 1
#define false 0
#define settings ( 0xe0 | 0x00 | 0x00 | 0x03)
void main()
a=bioscom(2,0,com1)&0x00ff;
printf("a=%x",a);
if (kbhit())
}return 0;}
10樓:碧雨邢騫澤
雙方都能發能收,硬體及協議應該沒問題了,那麼這是特意這麼安排的,不然微控制器連續發你就看不清資料了。
筆記本和微控制器的序列通訊,微控制器與PC用串列埠通訊需要什麼條件?
pc的串列埠的電平邏輯1是 3 15v邏輯0是 3 15v跟微控制器0 5v電平是不相容的 所以需要max232轉換電路 接法如下圖 max3232為3.3v max232為5v 介面一樣只是工作電壓不同 電容選用104 105均可 txd rxd分別連線到微控制器的串列埠引腳即可 好像不需要其它條...
PIC微控制器的序列通訊問題,PIC微控制器序列通訊的波特率又高速和低速之分,請問這兩者有什麼區別
注意,這裡說的高速 低速不是通常說的速度快就是高速,速度慢就是低速。這裡所謂的高速 低速,指的是同一個波特率因子下的波特率的快慢。得看一下式子 高速 波特率 fosc 16 x 1 fosc代表外部晶振 低速 波特率 fosc 64 x 1 從上面的公式可以看到,對同一個x,顯然用 fosc 16 ...
51微控制器與PC機的串列埠通訊設計的問題
1 用串列埠除錯助手 2 用pc機通過串列埠控制8952讓埠上的led亮滅很簡單,如只需傳送0xfe內容,再讓p0 subf就可讓p0口上的一個led滅。3 若要實現雙工方式,設定scon 0x50,也就是讓ren 1即可,4 若要有語音提示,在主程式相應位置加一發音程式即可。以上希望能幫到你。 我...