Visual C++/Turbo C串口通信編程實踐

Visual C++/Turbo C串口通信編程實踐

《Visual C++/Turbo C串口通信編程實踐》是由龔建偉熊光明編寫,電子工業出版社出版的一本書籍。

本書從編程實踐的角度詳細介紹了Windows環境下和DOS環境下的串口通信的基本方法,並根據當前串口與網路結合發展的趨勢,介紹了串口與網路TCP/IP、遠程控制與監測相結合的一些解決方案和編程要點。由於編程步驟詳盡,初學Visual C++/C(甚至是以前完全沒有接觸過Visual C++)的讀者也能很快編寫出Visual C++的串口通信程式。本書配光碟,書中實例源程式和相關資料可在對應章節的資料夾中找到。

本書是從事串口及網路通信的技術人員和學習者的極佳參考資料,也可以作為數據通信課程的輔助教材。

龔建偉,工學博士,目前在北京理工大學從事科研究與教學工作。主要從事計算機控制技術、順人和智慧能車輛技術、數據通信技術的研究。

基本介紹

  • 書名:Visual C++/Turbo C串口通信編程實踐
  • 作者龔建偉熊光明
  • ISBN:9787121002533
  • 頁數:378
  • 出版社電子工業出版社
  • 出版時間:2004-10-1
  • 裝幀:平裝
  • 字數:604000
  • 紙張:膠版紙
內容簡介,作者簡介,目錄,

內容簡介

本書是從事串口及網路通信的技術人員和學習者的極佳參考資料,也可以作為數據通信課程的輔助教材。

作者簡介

龔建偉,工學博士,目前在北京理工大學從事科研究與教學工作。主要從事計算機控制技術、順人和智慧能車輛技術、數據通信技術的研究。

目錄

第1章 輕鬆體驗串口通信編程與調試 1
1.1 使用串口調試助手來體驗串口通信 1
1.2 體驗Windows環境下的Visual C++串口通信編程 4
1.3 體驗DOS環境下Turbo C串口通信編程 12
第2章 多執行緒串口編程工具CSerialPort類 16
2.1 CSerialPort類的功能及成員函式介紹 16
2.2 套用CSerialPort類編制基於對話框的應用程式 30
2.3 套用CSerialPort類編制基於單文檔的應用程式 35
2.4 對CSerialPort類的改進 40
2.4.1 改進一:ASCII文本和二進制數據傳送方式兼容 40
2.4.2 改進二:也許能解決記憶體泄漏 43
2.4.3 改進三:徹底關閉串口,釋放串口資源 44
第3章 控制項MSComm串口編程 46
3.1 MSComm控制項介紹 46
3.1.1 VC中套用MSComm控制項編程步驟 46
3.1.2 MSComm控制項串列通信處理方式 47
3.1.3 MSComm 控制項的屬性說明 48
3.1.4 MSComm控制項錯誤信息 55
3.2 使用MSComm控制項的幾個疑難問題 56
3.2.1 使用VARIANT 和SAFEARRAY 數據類型從串口讀寫數據 56
3.2.2 MSComm控制項能離開對話框獨立存在嗎 59
3.2.3 如何傳送接收ASCII值為0和大於128的字元 60
3.2.4 在同一程式中用MSComm控制項控制多個串口的具體操作方法 62
3.2.5 解決使用控制項編程時程式占用的記憶體會不斷增大的問題 62
3.2.6 在MSComm控制項串口編程時遇到的其他問題 63
3.3 在基於單文檔(SDI)程式中套用MSComm控制項 63
3.4 套用MSComm控制項控制多個串口實例 69
3.5 串口與MODEM撥號套用簡例 76
3.5.1 創建工程 76
3.5.2 代碼分析 78
3.5.3 套用 85
第4章 Windows API串口編程 87
4.1 Windows API串口編程概述 87
4.2 API串口編程中用到的結構及相關概念說明 89
4.2.1 DCB(Device Control Block)結構 89
4.2.2 逾時設定COMMTIMEOUTS結構 92
4.2.3 OVERLAPPED異步I/O重疊結構 94
4.2.4 通信錯誤與通信設備狀態 95
4.2.5 串列通信事件 96
4.3 Windows API串列通信函式 97
4.4 Win32 API串口通信編程的一般流程和特殊實例 116
4.4.1 Win32 API串口通信編程的一般流程 116
4.4.2 用查詢方式讀串口 116
4.4.3 同步I/O讀寫數據 117
4.4.4 關於流控制的設定問題 118
4.5 CSerialPort類中的API函式編程套用剖析 119
4.6 Win32 API串口編程TTY(虛擬終端)實例 128
4.6.1 建立程式工程 128
4.6.2 建立串口設定對話框 129
4.6.3 編寫CTermDoc類的相關代碼 132
4.6.4 小結 141
4.6.5 在CTermView類中字添加符鍵入處理代碼與串口接收處理代碼 142
第5章 串口調試助手V2.2編程 147
5.1 建立SCOMM程式工程實現界面功能 147
5.2 串口的初始化及關閉 150
5.3 串口數據的傳送與接收及十六進制數據的處理 151
5.3.1 十六進數據傳送處理 152
5.3.2 手動傳送處理 152
5.3.3 自動傳送處理 153
5.3.4 接收處理及十六進制顯示 154
5.4 其他輔助功能的實現 156
5.4.1 接收數據的檔案保存 156
5.4.2 實現小檔案傳送 158
5.4.3 圖釘按鈕功能使程式能浮在最上層 161
5.4.4 對話框動畫圖示的實現 162
5.4.5 超連結功能的實現 164
5.4.6 如何打開幫助網頁檔案 164
第6章 DOS環境下的Turbo C串口編程及通用實例GSerial類 168
6.1 PC機異步通信適配器8250及其編程操作 169
6.1.1 INS8250內部暫存器及其選擇方式 169
6.1.2 波特率設定 169
6.1.3 數據位、奇偶校驗、停止位等數據格式設定 170
6.1.4 查詢I/O方式相關設定 171
6.1.5 中斷I/O通信方式相關設定 171
6.1.6 MODEM暫存器 172
6.2 COMRXTX程式實例 173
6.3 通用實例程式GSerial類 175
6.4 用GSerial類控制多串口 186
6.5 多串口編程PC機高號中斷8259A可程式中斷控制器的控制 195
第7章 串口通信用戶層協定的編制與數據處理方法 197
7.1 通信協定的編制 197
7.1.1 為什麼要編制用戶通信協定 197
7.1.2 串口通信中用戶層協定編制原則 199
7.1.3 在串口通信中幾種常用的用戶層協定 200
7.2 串口通信數據包處理方法編程實例 202
7.2.1 編程任務 203
7.2.2 編程步驟 203
7.2.3 程式測試 216
第8章 單片機串口通信 218
8.1 單片機串口硬體系統及C51程式開發 218
8.1.1 較典型的單片機硬體系統實例 218
8.1.2 C51語言及程式簡介 220
8.1.3 開發C51程式的利器Keil C51 uVision2及串口程式仿真 221
8.2 C51單片機串口通信程式實例 226
8.2.1 實例一 226
8.2.2 實例二 227
第9章 串口與網路結合的解決方案及編程 230
9.1 串口與網路結合的硬體解決方案 230
9.2典型串口與聯網的設備 231
9.2.1 NPort5400系列產品的特點 231
9.2.2 NPort 5400系列產品的典型套用介紹 233
9.2.3 NPort5400系列產品的設定與編程測試 235
9.3 與Access資料庫結合的串口通信實例 237
9.3.1 微機網路檢測系統說明 237
9.3.2 創建ODBC數據源 238
9.3.3 創建工程 239
9.3.4 程式簡介 244
9.4 與WinSock結合的串口通信實例 246
9.4.1 客戶端應用程式 247
9.4.2 伺服器應用程式 252
9.5 在已經編好的串口通信程式中加入網路通信功能 260
9.5.1參照MFC AppWizard創建WinSockets程式 261
9.5.2 利用Windows Sockets API和第三方提供的類進行編程 262
9.6 串口通信用於遙控操作簡例 262
第10章 計算機串口與其他設備通信編程實例 266
10.1通過串口收發短訊息 266
10.1.1 SMS編碼規範及編碼與解碼例程 266
10.1.2 AT命令收發短訊息實例 273
10.1.3 “實時”接收短訊息的方法 281
10.1.4 用串口收發SMS簡訊編程的一些討論 283
10.2 計算機與Rabbit 2000嵌入式系統通信編程實例 286
10.2.1 Rabbit 2000微處理器介紹 286
10.2.2 動態C(Dynamic C)語言介紹 287
10.2.3 某車載無線調度系統實例介紹 288
10.3 計算機與PLC通信程式實例 294
10.4 MATLAB環境串口編程通信實例 295
10.4.1 MATLAB串口類Serial套用 295
10.4.2 通過串口使MATLAB Simulink與下位機通訊進行控制 299
10.4.3 xPC目標環境下串口通信實現 299
第11章 串口通信基本概念及標準 302
11.1 串口通信基本概念 302
11.1.1 串列通信概述 302
11.1.2 單工、半雙工和全雙工的定義 305
11.1.3 同步傳送與異步傳送 306
11.1.4 串列通信協定 306
11.2 RS-232-C串口標準 309
11.2.1 RS-232-C標準 309
11.2.2 RS-232-C串列通信接線實例 312
11.3 RS-422/485串口標準 314
11.3.1 概述 314
11.3.2 RS-422與RS-485串列接口標準 315
11.3.3 RS-422與RS-485的網路安裝注意要點 317
11.3.4 RS-232、RS422、RS485電氣參數對比 318
11.4 串口調試注意事項 318
11.5 常用數據校驗法 318
11.5.1 奇偶校驗 318
11.5.2 循環冗餘碼校驗 319
11.6 串口連線和TCP/IP連線對比 320
11.7 現場匯流排與RS-232、RS-485的本質區別 320
11.8 MODEM通信技術 320
11.8.1 MODEM的基本工作原理 320
11.8.2 MODEM的功能 322
11.8.3 MODEM的分類 322
11.8.4 MODEM的安裝 324
11.8.5 MODEM V.92標準介紹 326
11.8.6 MODEM的速度 327
11.8.7 MODEM最佳化方法 328
11.8.8 MODEM命令/AT命令 329
第12章 不占用串口的串口數據捕捉 338
12.1 驅動程式的基本概念:VxD與WDM 338
12.1.1 虛擬設備驅動程式VxD 338
12.1.2 Win32驅動程式模型WDM 340
12.1.3 在不同作業系統下選用哪種驅動程式模式 341
12.2 VxD示例程式介紹——VToolsD中的CommHook 341
12.3 串口數據捕捉實例程式 351
12.3.1 編程任務 351
12.3.2 編程步驟 351
12.4 虛擬串口簡介 364
附錄A Turbo C說明 366
附錄B ASCII碼錶 376

相關詞條

熱門詞條

聯絡我們