發表於2024-11-05
作為學習LabVIEW與32位微處理器STM32的入門級教材,本書從LabVIEWforARM嵌入式軟件架構入手,在分析STM32芯片內部每個功能模塊的基礎上,著重介紹使用LabVIEW對其進行編程的工作原理和開發過程,讓讀者知其所以然。同時,本書還配套瞭40個實驗例程和經典案例,幫助讀者快速理解和掌握圖形化ARM嵌入式係統開發。通過基本原理、實驗例程、案例分析,這種循序漸進、由淺入深的方式引導讀者完成由STM32初學者過渡到ARM嵌入式開發工程師的轉變。
前言
緻謝
第1章軟件篇1
1.1LabVIEWARM嵌入式模塊介紹1
1.2KeilRealViewMDK軟件介紹4
1.3KeilRTX實時操作係統介紹5
1.4LabVIEWARMModule軟件架構7
1.5LabVIEWARMModule、RealViewMDK、實驗平颱驅動軟件安裝8
1.6STM32實驗範例程序查找與USBJLink-OB驅動加載14
第2章硬件篇19
2.1ARMCortex-M3內核簡介19
2.2實驗平颱介紹20
2.2.1My_ARM_Starter_Board學習闆介紹22
2.2.2My_ARM_Core_Board核心闆介紹25
2.2.3My_ARM_DAQ_Board數據采集闆介紹27
2.3實驗平颱資源說明28
2.3.1My_ARM_Starter_Board平颱資源簡介28
2.3.2My_ARM_Core_Board平颱資源簡介34
2.3.3My_ARM_DAQ_Board平颱資源簡介35
2.3.4My_ARM實驗平颱總結37
第3章基礎模塊篇38
3.1GPIO38
3.1.1GPIO介紹38
3.1.2GPIO工作方式39
3.1.3GPIO驅動VI45
3.1.4兩種驅動實現方式比較55
3.1.5GPIO總結56
3.2ADC/DAC56
3.2.1ADC介紹57
3.2.2ADC驅動實現58
3.2.3DAC介紹62
3.2.4DAC驅動實現63
3.3中斷66
3.3.1外部中斷67
3.3.2外部中斷驅動實現69
3.3.3內部中斷76
3.3.4定時器中斷驅動實現78
3.4PWM生成91
3.4.1PWM原理及應用92
3.4.2PWM驅動實現92
3.4.3PWM參數設置技巧97
3.5看門狗97
3.5.1獨立看門狗介紹98
3.5.2獨立看門狗驅動實現99
3.5.3窗口看門狗介紹100
3.5.4窗口看門狗驅動實現101
3.6TFTLCD顯示、觸摸屏及OLED顯示103
3.6.1TFTLCD顯示原理104
3.6.2TFTLCD顯示驅動實現105
3.6.3觸摸屏工作原理109
3.6.4觸摸屏驅動VI110
3.6.5OLED工作原理112
3.6.6OLED驅動實現113
3.7RTC時鍾/待機與喚醒114
3.7.1RTC時鍾介紹114
3.7.2RTC時鍾驅動實現115
3.7.3待機與喚醒118
3.7.4待機與喚醒驅動實現119
3.8IIC/SPI總綫120
3.8.1IIC協議介紹120
3.8.2IIC協議驅動實現122
3.8.3EEPROM驅動實現125
3.8.4SPI協議介紹129
3.8.5SPI協議驅動實現131
3.8.6Flash驅動實現132
3.9RS232/RS485/CAN總綫136
3.9.1RS232協議介紹136
3.9.2RS232驅動實現137
3.9.3RS485協議介紹139
3.9.4RS485驅動實現139
3.9.5CAN協議介紹140
3.9.6CAN驅動實現145
3.10紅外遙控148
3.10.1紅外遙控工作原理149
3.10.2紅外遙控驅動實現150
3.11三軸加速度傳感器153
3.11.1三軸加速度傳感器工作原理154
3.11.2三軸加速度傳感器的驅動實現155
第4章高級模塊篇157
4.1SRAM157
4.1.1SRAM讀寫與管理158
4.1.2SRAM管理的驅動實現158
4.2SD卡161
4.2.1SD卡的應用161
4.2.2SD卡驅動實現162
4.3FATFS文件係統164
4.3.1FATFS文件係統介紹164
4.3.2FATFS文件係統驅動實現165
4.4中文顯示170
4.4.1中文顯示原理171
4.4.2中文顯示的驅動實現174
4.5圖片顯示175
4.5.1圖片顯示原理176
4.5.2圖片顯示的驅動實現177
4.6音樂播放178
4.6.1音頻播放原理179
4.6.2音頻解碼與播放的驅動實現179
4.7錄音機182
4.7.1錄音機工作原理182
4.7.2錄音機的驅動實現182
4.8FM收發184
4.8.1FM收發設置184
4.8.2FM的驅動實現185
4.9攝像頭188
4.9.1攝像頭工作流程190
4.9.2攝像頭的驅動實現190
4.10USB通信194
4.10.1USB設備開發流程196
4.10.2USB通信的驅動實現202
4.112.4G無綫通信204
4.11.1無綫通信模塊介紹205
4.11.2無綫通信的驅動實現206
4.12TCP/IP網絡傳輸209
4.12.1TCP/IP網絡傳輸介紹210
4.12.2TCP/IP傳輸協議的驅動實現213
4.13Web網頁服務216
4.13.1Web服務開發流程216
4.13.2Web服務的驅動實現219
第5章基礎實驗篇220
5.1入門實驗220
5.1.1循環實驗220
5.1.2軟件仿真226
5.1.3硬件調試229
5.1.4程序優化230
5.1.5程序發布235
5.1.6程序架構236
5.1.7實驗總結239
5.2GPIO實驗240
5.2.1流水燈實驗240
5.2.2蜂鳴器實驗245
5.2.3按鍵捕捉實驗248
5.2.4實驗總結251
5.3ADC/DAC實驗251
5.3.1ADC溫度采集報警實驗252
5.3.2DAC正弦波生成實驗257
5.3.3實驗總結263
5.4中斷實驗263
5.4.1外部I/O中斷實驗263
5.4.2定時器更新中斷實驗277
5.4.3脈衝測量實驗286
5.4.4編碼器測量實驗295
5.4.5實驗總結305
5.5PWM實驗306
5.5.1PWM驅動舵機實驗306
5.5.2實驗總結313
5.6看門狗實驗313
5.6.1獨立看門狗實驗313
5.6.2窗口看門狗實驗316
5.6.3實驗總結322
5.7TFTLCD顯示/觸摸屏/OLED實驗322
5.7.1TFTLCD顯示實驗322
5.7.2觸摸屏實驗326
5.7.3OLED顯示實驗330
5.7.4實驗總結334
5.8RTC時鍾/鬧鍾與待機喚醒實驗334
5.8.1RTC時鍾實驗334
5.8.2RTC鬧鍾實驗342
5.8.3STM32待機與喚醒實驗348
5.8.4實驗總結355
5.9IIC/SPI實驗355
5.9.1EEPROM(IIC)讀寫實驗355
5.9.2Flash(SPI)讀寫實驗359
5.9.3實驗總結364
5.10RS232/RS485/CAN實驗364
5.10.1RS232通信實驗364
5.10.2RS485通信實驗370
5.10.3CAN通信實驗374
5.10.4實驗總結378
5.11紅外遙控實驗378
5.11.1軟件架構設計379
5.11.2紅外接收頭硬件連接原理圖381
5.11.3編寫主VI程序381
5.11.4編寫定時器4的中斷服務子VI程序382
5.11.5程序編譯、下載、調試384
5.11.6實際運行結果387
5.12三軸加速度傳感器實驗387
5.12.1軟件架構設計388
5.12.23D加速度傳感器接口原理圖388
5.12.3編寫主VI程序390
5.12.4程序編譯、下載、調試391
5.12.5實際運行結果391
第6章高級實驗篇393
6.1內存SRAM管理實驗393
6.1.1軟件架構設計393
6.1.2外部SRAM接口連接原理圖394
6.1.3編寫主VI程序395
6.1.4程序編譯、下載、調試395
6.1.5實際運行結果397
6.2SD卡讀寫實驗398
6.2.1軟件架構設計398
6.2.2SD卡插槽連接原理圖399
6.2.3編寫主VI程序399
6.2.4程序編譯、下載、調試400
6.2.5實際運行結果400
6.3FATFS文件係統實驗401
6.3.1軟件架構設計402
6.3.2FATFS文件係統硬件原理圖402
6.3.3編寫主VI程序403
6.3.4程序編譯、下載、調試403
6.3.5實際運行結果404
6.4中文顯示實驗405
6.4.1軟件架構設計405
6.4.2中文顯示硬件原理圖406
6.4.3編寫主VI程序406
6.4.4程序編譯、下載、調試407
6.4.5實際運行結果408
6.5圖片顯示實驗409
6.5.1軟件架構設計409
6.5.2圖片顯示硬件原理圖410
6.5.3編寫主VI程序410
6.5.4程序編譯、下載、調試411
6.5.5實際運行結果412
6.6音樂播放實驗412
6.6.1軟件架構設計413
6.6.2MP3模塊硬件原理圖413
6.6.3編寫主VI程序415
6.6.4程序編譯、下載、調試415
6.6.5實際運行結果416
6.7錄音機實驗417
6.7.1軟件架構設計418
6.7.2錄音機硬件原理圖418
6.7.3編寫主VI程序420
6.7.4程序編譯、下載、調試421
6.7.5實際運行結果421
6.8FM收發實驗422
6.8.1軟件架構設計423
6.8.2FM模塊硬件原理圖423
6.8.3編寫主VI程序425
6.8.4程序編譯、下載、調試425
6.8.5實際運行結果426
6.9攝像頭視頻拍照實驗427
6.9.1軟件架構設計428
6.9.2攝像頭模塊與STM32之間的硬件連接430
6.9.3編寫主VI程序430
6.9.4編寫外部I/O的中斷服務VI程序431
6.9.5程序編譯、下載、調試432
6.9.6實際運行結果434
6.10USB通信實驗434
6.10.1USB通信架構開發流程434
6.10.2USB固件程序框架設計(STM32)435
6.10.3USB設備硬件原理圖(STM32)436
6.10.4USB固件程序編寫(STM32)437
6.10.5USB固件程序編譯、下載、調試437
6.10.6USB設備驅動文件生成(主機PC)438
6.10.7USB應用程序開發(主機PC)445
6.10.8實際運行結果448
6.112.4G無綫通信實驗449
6.11.12.4G無綫通信程序開發流程450
6.11.2NRF24L01發送方程序編寫(STM32)450
6.11.3NRF24L01接收方程序編寫(STM32)451
6.11.4NRF24L01無綫模塊接口硬件原理圖452
6.11.5無綫通信程序編譯、下載、調試452
6.11.6實際運行結果454
6.12TCP網絡傳輸實驗456
6.12.1TCP網絡傳輸開發流程456
6.12.2TCP服務器端程序編寫(下位機STM32)456
6.12.3TCP客戶端程序編寫(上位機PC)457
6.12.4ENC28J60網絡傳輸模塊硬件原理圖459
6.12.5TCP網絡傳輸程序編譯、下載、調試459
6.12.6實際運行結果460
6.13Web網頁服務實驗462
6.13.1Web服務器端程序編寫(下位機STM32)463
6.13.2ENC28J60網絡傳輸模塊硬件原理圖464
6.13.3Web服務器程序編譯、下載、調試466
6.13.4實際運行結果466
第7章綜閤實驗篇469
7.13D遊戲手柄實驗470
7.1.1軟件架構設計(標準狀態機)471
7.1.2My_ARM學習闆接口連接原理圖472
7.1.3My_ARM學習闆接口實物圖473
7.1.4編寫主VI程序473
7.1.5編寫I/O中斷服務VI程序476
7.1.6程序編譯、下載、調試476
7.1.7USB驅動生成安裝479
7.1.8上位機應用程序APP482
7.1.9實際運行結果483
7.2電機閉環控製實驗484
7.2.1軟件架構設計(標準狀態機)485
7.2.2My_ARM學習闆接口連接原理圖487
7.2.3My_ARM學習闆接口實物圖488
7.2.4編寫主VI程序488
7.2.5編寫定時器中斷服務VI程序494
7.2.6程序編譯、下載、調試495
7.2.7PID參數整定方法498
7.2.8上位機應用程序APP502
7.2.9實際運行結果504
7.3音頻信號在綫監測實驗505
7.3.1軟件架構設計(標準狀態機)508
7.3.2My_ARM學習闆接口連接原理圖510
7.3.3My_ARM學習闆接口實物圖511
7.3.4編寫主VI程序511
7.3.5程序編譯、下載、調試518
7.3.6上位機應用程序APP520
7.3.7實際運行結果520
附錄522
想要深入瞭解美國國傢儀器公司(NI)在嵌入式係統領域今後重點投入和發展的用戶,可以參考Dr.T(NI公司創始人兼CEO)撰寫的《2012年嵌入式係統展望》和《2013年嵌入式係統展望》兩篇文章()。在2012年的文章裏麵,Dr.T迴顧瞭傳統的嵌入式開發,介紹瞭NI公司現在的嵌入式開發架構,以及將來完美的解決方案。下麵讓我們先通過下錶來看看NI公司都支持哪些具體的嵌入式硬件開發及其特點與優勢。
錶NI嵌入式硬件支持概況嵌入式硬件主流芯片優點缺點NI軟件工具包微控製器8051、MSP430單片機低成本、體積小、易於編程在高性能的應用中會力不從心CGeneratorToolkit微處理器ARM7、ARM9、M3、M4、M7高時鍾頻率,可以完成高性能的應用,易於編程高功耗、順序處理結構EmbeddedforARMToolkit數字信號處理專用器件DSP(ADI、TI)支持硬件浮點計算,處理速度快固有的順序處理機製EmbeddedforDSPToolkit通用計算處理器CPU(Intel、AMD)支持多核並行處理器機製,處理速度極快高功耗、係統中必須有CPUReal-timeModule現場可編程門陣列FPGA(Xilinx、Altera)可以通過軟件定義的高靈活性硬件,可重復編程的電路–固有的並行處理架構成本高、功耗高FPGAModule從上錶中可以看齣,NI公司支持的硬件非常廣泛,基本上涵蓋瞭所有種類(除ASIC外)的嵌入式通用芯片。其中對ARM、FPGA和CPU的支持持續更新;而單片機和DSP的更新則較慢,也很少在國內推廣,僅限於高校使用;FPGA的勢頭最猛,也是NI現在以及未來重點支持的五大方嚮之一;由於ARM內核的芯片近些年在移動市場占據瞭越來越多的份額,NI公司也開始順應潮流,開發齣相應的工具包;DSP這兩年有被FPGA逐步取代的趨勢,今後,NI公司對DSP的支持度會逐年降低;CPU在主頻和多核領域有著無可替代的優勢,因此,NI公司不會放棄它,産品具體體現在PXI平颱和cDAQ機箱;而單片機性能相對較弱,NI公司官方不會再支持。
圖1顯示的是NI公司的LabVIEW圖形化軟件所能支持的處理器和嵌入式操作係統的全部傢族成員。
圖1LabVIEW支持的處理器和嵌入式操作係統傢族成員在國內,ARM7/ARM9同樣受到很多工程師的歡迎,這類MCU非常適閤於WindowsCE係統,因此,經作者對國內市場的分析,並結閤NI的戰略,計劃推齣3本有關LabVIEW嵌入式開發的書,本書就是其中之一。
本書重點介紹嵌入式傢族中的ARMCortex-M3成員,即如何利用LabVIEW圖形化軟件,幫助用戶快速實現一個小型ARM嵌入式係統原型開發。
首先從LabVIEW這個聞名全球的圖形化軟件說起。提到LabVIEW,相信很多工程師都不陌生,即使沒有使用LabVIEW做過項目開發,或多或少也聽說過LabVIEW的強大功能。對於想係統學習或者提高LabVIEW編程能力的學生和工程師,作者嚮大傢推薦兩本經典教材,分彆是阮奇楨編著的《我和LabVIEW》和陳樹學編著的《LabVIEW寶典》。
下麵為大傢簡單介紹一下LabVIEW。
LabVIEW全稱是LaboratoryVirtualInstrumentationEngineeringWorkbench,是由美國國傢儀器公司(NI)於1986年發明的,最新的版本是2015,以後的版本號均按年份命名,於每年的8月發布。NI公司的LabVIEW之父JeffKodosky已經申請並獲批68項LabVIEW專利。盡管LabVIEW還沒有像C語言那樣被ISO組織接受並認證,但它已經成為工業自動化和測試測量行業事實上的標準。
以LabVIEW為核心,配閤不同行業的專用工具包,結閤NI強大的硬件平颱所構成的這種“圖形化設計”理念,已經快速滲透到各行各業,形成瞭一個完整的生態係統。尤其是在嵌入式應用、FPGA設計、運動控製、圖像處理、半導體測試、射頻等領域,它將占據越來越多的市場份額。
圖2顯示的是LabVIEW針對各行各業的軟件模塊。
圖2LabVIEW所有軟件模塊圖2的上半部分展示上位機純軟件開發模塊,具體說明如下:針對C語言編寫的代碼可以使用庫函數節點來調用;針對MATLAB編寫的算法可以使用MathScript節點來調用;針對LabVIEW自身則直接使用數據流思想進行編程;針對Simulink或者HIL(硬件在環)可以使用Simulation模塊來調用;針對工業自動化控製可以使用Statecharts(狀態圖)模塊來編程。
圖2的下半部分展示下位機嵌入式軟件開發模塊,主要說明如下:針對DSP/ARM固件驅動開發可以使用LabVIEW嵌入式模塊實現;針對XilinxFPGA可以使用NIFPGA工具包進行開發;針對多核處理器可以使用LabVIEWReal-Time模塊進行開發。
本書嚮大傢介紹的正是LabVIEW在嵌入式領域中的應用。下麵來瞭解一下LabVIEW在這個領域的嵌入式硬件産品。
圖3顯示的是NI公司針對嵌入式領域研發的一係列硬件設備,例如,LabVIEWDesktop可以運行在PC、筆記本電腦、工控機、PXI控製器或者cDAQ機箱上;LabVIEWReal-Time和FPGA模塊可以用來開發PXI係統、c
STM32開發實戰:LabVIEW捲 下載 mobi epub pdf txt 電子書 格式
STM32開發實戰:LabVIEW捲 下載 mobi pdf epub txt 電子書 格式 2024
STM32開發實戰:LabVIEW捲 下載 mobi epub pdf 電子書書不錯,準備好好看看,希望有幫助
評分好
評分挺不錯的質量挺好的頂一個
評分正版書籍,印刷質量很好,嵌入式入門學習經典,贊。。。
評分還不錯,是正版
評分好,好
評分還沒看,不過感覺不錯,不過闆子受限製
評分工作用書,物流快
評分速度快,效率高
STM32開發實戰:LabVIEW捲 mobi epub pdf txt 電子書 格式下載 2024