用C語言程式設計操作計算機串列埠的問題

2021-06-21 10:13:17 字數 1380 閱讀 3798

#include #include #include #include #include #include #define baud_rate  9600 

#define com1_base ??? /* com1基位址 */

#define p printf

int main()

/* 串列埠超時結構體設定 */

typedef commtimeouts timeouts

;if(!setcommtimeouts(hcom,&timeouts)) //與串列埠繫結失敗返回

/* 設定串列埠各項引數 */

dcb dcb;

dcb.baudrate=baud_rate; //波特率為9600

dcb.bytesize=8; //設定資料位

dcb.parity=evenparity; //偶校驗

dcb.stopbits=2; //兩個停止位

dcb.fbinary=true;

dcb.fparity=true;

if(!setcommstate(hcom,&dcb)) //dcb繫結失敗返回

if(!setupcomm(hcom,1024,1024)) //設定串列埠的輸入/輸出緩衝區大小

purgecomm(hcom,purge_txabort|purge_rxabort|purge_txclear|purge_rxclear); //終止所有的後台讀寫操作並清空緩衝區

/* 傳送資料操作 */

if(writefile(hcom, //檔案控制代碼

outputdata, //資料緩衝區指標

sizebuffer, //位元組數

&length, //接收成功傳送資料長度的指標

null)==0) //重疊i/o結構體

/* 接收資料 */

if(readfile(hcom, //檔案控制代碼

inputdata, //資料緩衝區指標

sizebuffer, //位元組數

&length, //指向已經讀入的位元組數

null)==0) //重疊i/o結構體

/* 關閉串列埠 */

bool closehandle

(hcom

); //關閉裝置控制代碼

C 讀取計算機串列埠

今天在改刷卡程式的時候,經理要求把計算機所有的com口讀出來,供程式介面選擇。原來選擇串列埠的時候寫的是固定的數字,不太合理。在網上搜尋了一下,大概有兩種讀取方法。一種是通過計算機登錄檔來讀取串列埠資訊,另外一種是用.net下提供的serialport類讀取。方法一 從計算機登錄檔的特定位置讀取出串...

計算機的程式語言

參考 0.簡述 在計算機體系中,指令就是指揮計算機工作的指示和命令。不管是哪種計算機語言編寫的程式,在執行時最終都會轉化為計算機能識別的01二進位制指令序列。本文簡單講講計算機程式語言。下面一張圖是c語言 組合語言以及翻譯過的機器語言 1.機器語言 是用二進位制 表示的計算機能直接識別和執行的一種機...

計算機和程式語言

計算機是怎麼做的 計算機擅長做什麼樣的事情 計算機能做什麼樣的問題 什麼事情是計算機不容易做或不擅長做的 計算機怎麼解決問題的 請給我一杯水 你要和他說 1.轉身走到廚房 你要和他說 2.找到乙個杯子 你要和他說 3.找到乙個水壺 你要和他說 4.在杯子裡到人一些水 你要和他說 5.拿著杯子走回桌子...