发表于2024-11-26
作为学习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的寄存器编程 需要有stm32编程基础的使用才好 总体来说 放一边了 用处不大
评分正在看
评分听视频的话,这本书基本不用看,在开发的时候,弄不明白了可以查一下,当参考手册还不错,讲了一些基本理论,视频教程里大部分都有讲到。
评分实用性强,讲得很细而且比较系统,下次再来,相信京东自营,靠得住,发货快。
STM32开发实战:LabVIEW卷 mobi epub pdf txt 电子书 格式下载 2024