介紹
版權資訊書 名: VisualC++串口通信開發入門與編程
實踐作 者:周韌研 商斌
出版社: 電子工業出版社
出版時間: 2009
ISBN: 9787121082696
開本: 16
定價: 55.00 元內容簡介
《VisualC++串口通信開發入門與編程實踐》著重介紹計算機串口通信的硬體原理、軟體開發和工程實例。《VisualC++串口通信開發入門與編程實踐》從通信原理和工程實現出發,結合示例講述使用串口進行通信的原理和開發技術。全書共分12章,第1、2章從電路和通信電子設備角度出發,詳細講解串列通信的理論基礎和物理實現;第3~6章介紹在通用計算機(PC)的Windows環境下如何進行串口通信軟體的開發,包括使用WindowsAPI、C++串口類以及Qt串口類等;第7~12章以工程中的6個實例為藍本,介紹Windows平台下串列接口開發與嵌入式設備串口通信開發的相關技術。
書中原始碼和項目設計代碼請到的“下載專區”中下載。
《VisualC++串口通信開發入門與編程實踐》的編寫者具有計算機接口設備開發及軟體開發的大量經驗。《VisualC++串口通信開發入門與編程實踐》適合於對電子電路和計算機體系有初步了解,但對軟體開發掌握不多的讀者作為自學用書,也可以作為自動化、電氣、工控、機械等領域有相關需求的工程人員的參考書。
作者簡介
周韌研,清華大學電子的工程學士。現就讀清華大學微電子學研究所博士生,從事片上系統(SoC)和積體電路設計的研究工作,負責並參與多個國家自然科學基金項目。在嵌入式硬體電路設計、嵌入式網路通信方面具有多年的項目開發經驗,熟悉PPC和ARM體系結構,精通VisualC串口通信編程。
商斌,北京理工大學軟體工程碩士。4年外企研發工作經驗,6年嵌入式系統編程經驗,精通嵌入式系統通信接口開發,具備紮實的理論功底,發表SCI論文3篇。曾赴德國4所著名高校、研究所交流方向,已出版《嵌入式LinuxC語言開發入門與編程實踐》、《linux設備驅動開發入門與編程實踐》等多部技術書籍。
編輯推薦
《VisualC++串口通信開發入門與編程實踐》著重介紹計算機串口通信的硬體原理、軟體開發和工程實例。案例式教學,豐富的項目實例+詳盡的代碼+完整的註解.全書講解由淺入深、通俗易懂、注重實踐,是一本不可多得的程式設計師手冊。《VisualC++串口通信開發入門與編程實踐》作者具有計算機接口設備開發以及軟體開發的大量經驗。配套代碼免去煩瑣輸入代碼的工作,提高學習效率。
與初學者探討VisualC++串口通信開發技術,每一步都有詳盡說明;案例式教學,豐富的項目實例+詳盡的代碼+完整的註解;倡導輕鬆、快捷編程的程式設計師必務手冊;VisualC++串口通信開發入門、進階的“一指神功”。
目錄
第1章串列通信的基本概念1
1.1從電路到通信系統2
1.1.1套用資訊理論簡要2
1.1.2串列通信的信源特性8
1.1.3串列通信的信道特性9
1.2計算機的數據接口12
1.2.1使用數據接口13
1.2.2計算機數據接口的發展14
1.2.3LPC匯流排與串口適配器17
1.3串列通信協定19
1.3.1為什麼制定協定19
1.3.2OSI協定參考模型20
1.3.3一般模型與協定棧20
1.3.4串列通信協定23
1.4EIA-RS232串列接口標準介紹28
1.4.1EIA-RS232標準概述28
1.4.2電氣特性30
1.4.3機械特性32
1.4.4信號線定義35
1.4.5串口近距離通信39
1.4.6串口通信的流控制41
1.5RS-422與RS-485串列接口標準45
1.5.1RS-422電氣規定46
1.5.2RS-485電氣規定47
1.5.3RS-422與RS-485的網路安裝注意要點48
1.5.4RS-422與RS-485傳輸線上匹配的一些說明49
1.5.5RS-422與RS-485的接地問題50
1.5.6RS-422與RS-485的網路失效保護51
1.5.7RS-422與RS-485的瞬態保護52
1.6本章小結53
第2章異步串列通信接口電路簡介55
2.18250兼容接口電路56
2.1.18250兼容接口電路概述56
2.1.28250的結構57
2.1.38250的編程方法58
2.28251A接口電路76
2.2.18251A的外部特性76
2.2.28251A的內部結構和編程模型77
2.2.38251A的狀態字79
2.2.48251A的方式命令和工作命令的使用79
2.2.58251A套用舉例79
2.3本章小結81
第3章在WindowsNT中搭建開發環境83
3.1準備工作84
3.1.1使用串口調試助手84
3.1.2雙連線埠互聯方案84
3.1.3單連線埠自聯方案85
3.1.4使用USB-UART轉換器85
3.1.5使用虛擬串口86
3.2使用MicrosoftVisualC++88
3.2.1開發平台的選擇89
3.2.2工程類型和開發流程89
3.2.3HelloWorld——第一個串口通信程式90
3.3本章小結95
第4章使用WindowsAPI串口編程97
4.1WindowsAPI串口編程概述98
4.1.1不使用WindowsAPI98
4.1.2WindowsAPI初探100
4.1.3使用WindowsAPI進行串口開發102
4.2同步和異步I/O——基本的4.2讀寫問題104
4.2.1CreateFile函式——開啟串口104
4.2.2CreateEvent函式——創建事件105
4.2.3Overlapped結構——異步模式信息的表達106
4.2.4WriteFile函式——傳送數據107
4.2.5ReadFile函式——接收數據107
4.2.6WaitForSingleObject——等待事件信號108
4.2.7一個同步和異步I/O例子108
4.3Windows通信API114
4.3.1DCB概述114
4.3.2流控制117
4.3.3傳輸逾時118
4.3.4串口狀態121
4.4本章小結128
第5章使用CSerial類129
5.1封裝串口通信API130
5.1.1串口編程回顧130
5.1.2封裝串口通信相關的API131
5.1.3封裝方案133
5.2CSerial簡介134
5.2.1概述134
5.2.2修改“HelloWorld”程式134
5.3CSerial的串口事件143
5.3.1監聽器:串口事件的回響143
5.3.2異步串口事件149
5.4WindowsGUI編程初探154
5.4.1函式指針與WindowsGUI154
5.4.2使用SDK開發WindowsGUI程式156
5.4.3資源、對話框和對話框模板162
5.4.4使用MFC169
5.5使用CSerial和MFC編寫串口通信程式174
5.5.1向框架添加CSerial174
5.5.2設計應用程式界面176
5.5.3串口配置178
5.5.4數據的傳送和接收184
5.5.5有關CSerialMFC的特別說明187
5.6本章小結187
第6章使用Qt進行串口編程189
6.1Qt簡介190
6.1.1Qt的組成和特點190
6.1.2Qt的安裝190
6.1.3Qt應用程式開發流程194
6.1.4獲取幫助213
6.2使用Qt開發串口通信程式213
6.2.1Qt中的多執行緒編程213
6.2.2使用QextSerialPort——簡單的實驗221
6.2.3完善的串口通信程式228
6.2.4若干問題240
6.3本章小結241
第7章Windows下雙機點到點串列通信系統設計與開發243
7.1Windows下雙機的串列通信系統簡介244
7.2Windows下雙機點到點的串列通信系統的用戶需求244
7.3Windows下雙機的串列通信系統的分析244
7.4利用UML為本工程實例建模245
7.5Windows下雙機的串列通信系統設計概述247
7.5.1系統模組圖與面向對象方法介紹248
7.5.2封面設計249
7.5.3主界面設計252
7.6Windows下雙機的串列通信系統的調試與實現262
7.6.1系統調試出現的問題262
7.6.2系統的實現263
7.7本章小結263
第8章16位高速DSP增強型同步串口的設計265
8.1概述266
8.2F206DSP處理器體系結構分析266
8.2.1F206DSP處理器概述266
8.2.2匯流排結構268
8.2.3中央處理單元概述269
8.2.4存儲器和I/O空間272
8.3增強型同步串口的系統及設計273
8.3.1同步串口的基本原理274
8.3.2同步串口基本操作結構圖275
8.3.3各種信號275
8.3.4快取器與暫存器276
8.3.5中斷277
8.3.6查錯277
8.4接收電路的設計280
8.4.1突發模式的接收280
8.4.2連續模式的接收281
8.5傳送電路的設計282
8.5.1利用內部幀同步的突發模式傳送283
8.5.2利用外部幀同步的突發模式傳送284
8.5.3利用內部幀同步的連續模式傳送285
8.5.4利用外部幀同步的連續模式傳送286
8.6接收與傳送電路的實現與研究286
8.7同步串口中幀同步的設計287
8.7.1並行同步設計思想288
8.7.2多路並行幀同步系統288
8.8FIFO快取器電路的設計289
8.8.1FIFO基本原理289
8.8.2通用FIFO的設計290
8.8.3同步串口中FIFO的設計291
8.9同步串口中特殊功能的設計293
8.9.1內部時鐘和幀同步電路的設計293
8.9.2多通道選擇電路的設計294
8.10同步串口中的狀態暫存器296
8.11本章小結297
第9章串口與乙太網數據傳輸實現299
9.1概述300
9.2設計晶片的軟硬體選擇301
9.2.1嵌入式網路模組DSLC-SOM-01301
9.2.2CT-xweb2000系統302
9.2.3ZNE-100T增強型嵌入式乙太網轉串口模組303
9.2.4RCM2200模組305
9.2.5各開發包的優缺點及其最終選擇306
9.3Rabbit開發包和編程工具DynamicC簡介306
9.3.1Rabbit微處理器結構圖與Rabbit2000特點介紹307
9.3.2RCM2200系統結構與詳細技術參數309
9.3.3DynamicC的特點310
9.4傳輸協定概述311
9.5串口傳輸協定的選擇312
9.5.1XMODEM協定概述313
9.5.2XMODEM傳輸協定的實現函式313
9.5.3CHECKSUM校驗方法314
9.6乙太網口傳輸協定的選擇與實現316
9.6.1網路傳輸協定的選擇和UDP協定316
9.6.2TFTP伺服器和客戶端概述317
9.6.3TFTP傳輸的初始連線318
9.6.4TFTP包318
9.6.5TFTP傳輸的正常終止319
9.6.6TFTP協定的實現320
9.7串口到乙太網口傳輸檔案的實現321
9.7.1程式設計思想321
9.7.2程式實現322
9.7.3串口到乙太網口檔案傳輸源程式323
9.8乙太網口到串口傳輸檔案的實現331
9.8.1程式設計思想331
9.8.2程式實現332
9.8.3乙太網口到串口檔案傳輸源程式332
9.9工程套用概述340
9.10本章小結341
第10章基於串口的DNC信息採集系統的開發343
10.1DNC技術概述344
10.1.1DNC技術的產生與發展344
10.1.2DNC數據採集的重要性345
10.1.3DNC數據採集的現狀346
10.2DNC信息採集系統的功能346
10.3DNC信息採集系統的底層設備接口347
10.4DNC數據採集系統通信技術348
10.4.1DNC數據採集系統的內部通信技術概述349
10.4.2DNC數據採集系統的外部通信技術概述351
10.4.3DNC數據採集的方法352
10.5基於串口的DNC信息採集系統的總體設計354
10.5.1系統總體結構355
10.5.2系統硬體組成355
10.5.3系統軟體組成及主要功能356
10.6DNC信息採集系統相關技術358
10.6.1串口通信技術358
10.6.2宏指令採集359
10.6.3特殊程式上報採集364
10.6.4採集數據處理與信息發布365
10.6.5串口傳輸速度匹配366
10.7基於串口的DNC信息採集系統設計和開發367
10.7.1系統概述367
10.7.2資料庫設計367
10.7.3串口通信實現369
10.7.4多執行緒的實現369
10.7.5數據採集的實現370
10.7.6信息發布實現372
10.7.7系統測試374
10.7.8系統的測試效果377
10.8本章小結378
第11章WindowsXP下USB轉RS-232橋接器驅動程式開發379
11.1USB轉RS-232橋接器概述380
11.1.1設備驅動的概念380
11.1.2USB技術特點380
11.1.3USB的廣泛套用381
11.1.4USB在嵌入式設備中的套用383
11.1.5計算機常用外部匯流排比較383
11.1.6USB轉RS-232橋接器發展現狀385
11.1.7USB轉RS-232橋接器驅動發展現狀385
11.2USB匯流排技術介紹386
11.2.1USB系統拓撲結構386
11.2.2USB匯流排邏輯結構388
11.2.3傳輸協定388
11.2.4傳輸類型394
11.2.5設備框架399
11.2.6USB主機協定402
11.3USB轉RS-232橋接器硬體設計404
11.3.1系統整體結構404
11.3.2USB接口設計406
11.3.3UART設計407
11.3.4Buffer設計409
11.3.5FIFO設計409
11.4橋接器驅動模型分析與實現機制411
11.4.1Windows驅動模型的發展412
11.4.2WDM驅動模型簡介412
11.4.3基於WDM模型的橋接器驅動框架設計414
11.4.4確立開發方案418
11.4.5I/O請求包(IRP)418
11.4.6USB數據處理420
11.4.7記憶體分配策略421
11.4.8同步問題422
11.4.9使用推遲過程調用424
11.4.10使用完成例程425
11.5橋接器驅動程式重點例程設計426
11.5.1驅動程式入口例程426
11.5.2即插即用例程實現策略428
11.5.3分發例程實現策略432
11.5.4電源管理例程438
11.5.5卸載例程438
11.6驅動測試與安裝438
11.6.1驅動測試438
11.6.2驅動的安裝440
11.7本章小結441
第12章串口通信在機器人實時控制中的套用開發443
12.1工業機器人概述444
12.1.1工業機器人的發展444
12.1.2工業機器人的套用445
12.1.3工業機器人技術概述446
12.1.4機器人控制技術概述447
12.1.5串列通信449
12.1.6實時控制系統450
12.2MOTOMANUP6工業機器人系統介紹450
12.2.1MOTOMANUP6的結構與性能451
12.2.2MOTOMANUP6機器人控制系統451
12.2.3MOTOMANUP6機器人運動參數452
12.2.4機器人虛擬樣機技術453
12.2.5機器人運動仿真454
12.3實時控制系統的總體分析455
12.3.1系統總體結構和組成455
12.3.2機器人功能分析456
12.3.3通信協定分析456
12.3.4RS-232C的不足之處及修正方案457
12.3.5機器人控制系統的圖像監控458
12.4實時控制系統的實現459
12.4.1程式設計思路459
12.4.2程式語言及方法選擇460
12.4.3VisualC++環境配置462
12.4.4通信參數設定與建立連線463
12.4.5機器人的主要狀態463
12.4.6機器人通信功能模組及其具體實現464
12.4.7機器人執行檔格式480
12.4.8編程注意事項481
12.4.9系統軟體發布482
12.5控制系統中圖像監控的實現482
12.5.1視頻捕獲482
12.5.2多執行緒編程技術在圖像監控中的運用483
12.6本章小結485
……