内容简介
ARM Cortex-M3嵌入式开发及应用(STM32系列)(电子设计与嵌入式开发实践丛书)采用由简到难的编写思路,
首先介绍简单嵌入式发展趋势和概念,然后逐步到功能性开发,举例分析,最后加深难度,介绍高级应用,从而使读者很容易理解和消化。全书共10章,第1~3章介绍了嵌入式系统的基本概念、常用芯片、工具和嵌入式系统的开发过程; 第4章介绍了配套学习板的原理图和设计思路; 第5~7章介绍了STM32的基本使用和各种外设的驱动以及开发应用,并列举了各种典型的应用实例; 第8章介绍了μc/OS�并蛟赟TM32上的应用情况; 第9章详细介绍了STM32嵌入式系统中可以使用的一些经典实用算法; 第10章从实用角度列举了支持MODBUS通信协议的通用控制器开发实例。
本书中列举的实例具有一定难度,适合具有一定嵌入式基础的读者使用,初学者请参考本书提供的共享资料和开发板的应用代码。本书的编写强调实用性和易用性,希望能解决读者学习和开发过程中的一些实际困难和问题。
内页插图
目录
第1章嵌入式系统开发技术
1.1嵌入式开发的基本概念
1.1.1嵌入式系统的基本组成
1.1.2嵌入式系统的特点
1.2嵌入式系统发展历史与现状
1.3嵌入式系统的组成
1.3.1硬件层
1.3.2中间层
1.3.3系统软件层
1.4嵌入式系统相关概念
1.4.1嵌入式处理器
1.4.2嵌入式外围设备
1.4.3嵌入式操作系统
1.4.4嵌入式应用软件
1.5应用领域
第2章ARM技术概述
2.1ARM体系构架
2.1.1哈佛结构
2.1.2冯·诺依曼结构
2.2ARM的RISC结构特性
2.3常用ARM处理器系列
2.4ARM体系结构和技术特征
2.5ARM的流水线
2.6Thumb指令集
2.7Thumb��2指令集
第3章基于STM32的嵌入式系统应用开发
3.1STM32F103系列MCU简介
3.1.1MCU基本功能
3.1.2系统性能分析
3.2低功耗版本STM32L系列
3.3STM32的开发工具
3.4STM32的固件库文件
3.5STM32的启动文件
3.6JTAG简介
3.7JTAG调试STM32F103过程
3.8SWD仿真模式
3.9JTAG接口及仿真器接口定义
3.10ISP下载器及常用工具
ARM Cortex-M3嵌入式开发及应用(STM32系列)
第4章DevStm 4.0开发板硬件及设计
4.1电源电路
4.2MCU外围电路
4.3复位电路
4.4晶振电路
4.5启动模式设置电路
4.6EEPROM电路
4.7串口电路
4.8RS485接口电路
4.9SD卡接口电路
4.10JTAG电路
4.11按键检测电路
4.12开关检测电路
4.13网络接口电路
4.14PWM驱动LED电路
4.15片载A/D转换电路
4.16AD7708 16位高精度A/D转换电路
4.17CAN总线接口电路
4.18OLED显示接口电路
4.19继电器驱动电路
4.20SeiSite接口
4.21开发板原件PCB布局及接口指示说明
第5章STM32基本应用技术
5.1GPIO通用输入/输出接口
5.1.1GPIO端口结构
5.1.2GPIO口输入/输出模式
5.1.3GPIO的库函数操作
5.1.4GPIO使用示例
5.2系统滴答定时器
5.2.1SysTick端口结构
5.2.2SysTick操作相关的库函数
5.2.3SysTick使用示例
5.3复位、系统时钟及实时时钟RTC
5.3.1复位
5.3.2时钟
5.3.3复位及时钟操作相关的库函数
5.3.4时钟使用示例
5.4NVIC嵌套向量中断控制器
5.4.1中断优先级
5.4.2中断函数定义
5.4.3NVIC操作相关的库函数
5.4.4NVIC使用示例
5.5EXTI外部中断
5.5.1GPIO外部中断
5.5.2EXTI操作相关的库函数
5.5.3EXTI使用示例
5.6电源控制PWR
5.6.1独立的A/D转换器供电和参考电压
5.6.2电池备份区域
5.6.3电压调节器
5.6.4电源管理器
5.6.5低功耗模式
5.6.6低功耗模式下的自动唤醒
5.6.7PWR操作相关的库函数
5.6.8PWR使用示例
第6章STM32F103的进阶设计及应用
6.1TIMx定时器
6.1.1TIM1和TIM8高级定时器
6.1.2普通定时器TIMx
6.1.3基本定时器TIM6和TIM7
6.1.4定时器相关的时钟源
6.1.5计数器模式
6.1.6定时器操作相关的库函数
6.1.7TIMx使用示例
6.2外设DMA技术
6.2.1DMA基本概念
6.2.2DMA1和DMA2请求详表
6.2.3DMA操作相关的库函数
6.2.4DMA使用示例
6.3备份域寄存器
6.3.1BKP的工作机制
6.3.2BKP操作相关的库函数
6.3.3BKP使用示例
6.4ADC模/数转换器
6.4.1ADC主要特征
6.4.2ADC功能介绍
6.4.3ADC操作相关的库函数
6.4.4ADC使用示例
6.5DAC数/模转换器
6.5.1DAC的主要特征
6.5.2DAC的功能介绍
6.5.3DAC操作相关的库函数
6.5.4DAC使用示例
6.6看门狗定时器
6.6.1看门狗应用介绍
6.6.2独立看门狗IWDG
6.6.3窗口看门狗WWDG
6.6.4看门狗操作相关的库函数
6.6.5看门狗使用示例
第7章STM32F103的通信接口及应用
7.1USART串行通信技术
7.1.1USART介绍
7.1.2USART主要特性
7.1.3USART功能概述
7.1.4USART操作相关的库函数
7.1.5USART使用示例
7.2SPI通信接口应用
7.2.1SPI简介
7.2.2SPI和I2S主要特征
7.2.3SPI功能介绍
7.2.4时钟信号的相位和极性
7.2.5SPI工作模式
7.2.6SPI操作相关的库函数
7.2.7SPI使用示例
7.3I2C通信接口应用
7.3.1I2C主要特点
7.3.2I2C功能描述
7.3.3I2C从模式
7.3.4SDA/SCL线控制
7.3.5SMBus介绍
7.3.6I2C操作相关的库函数
7.3.7I2C使用示例
7.4CAN总线通信接口应用
7.4.1bxCAN介绍
7.4.2bxCAN主要特点
7.4.3bxCAN总体描述
7.4.4bxCAN工作模式
7.4.5测试模式
7.4.6CAN操作相关的库函数
7.4.7CAN使用示例
7.5SDIO接口应用
7.5.1SD卡内部及引脚示意图
7.5.2SD卡及SPI模式引脚名称
7.5.3Micro SD引脚示意图
7.5.4SD模式
7.5.5SDIO操作相关的库函数
7.5.6SDIO使用示例
第8章μC/OS�并蛟赟TM32上的应用
8.1μC/OS�并虻姆⒄估�史
8.2μC/OS�并蛱逑到峁�
8.2.1任务管理
8.3.2时间管理
8.2.3内存管理
8.2.4通信同步
8.3μC/OS�并蚬丶�函数
8.4μC/OS�并蛑卸媳喑�
8.5μC/OS�并虻难�习方法
8.6μC/OS�并虻氖褂檬道�解析
第9章STM32中嵌入式应用信号处理算法
9.1线性滤波算法
9.1.1卡尔曼滤波算法应用
9.1.2卡尔曼滤波算法机理
9.1.3简单例子
9.2常用滤波算法
9.2.1程序判数滤波
9.2.2中值滤波
9.2.3滑动算术平均值滤波
9.2.4滑动加权平均值滤波
9.2.5防脉冲干扰平均值滤波
9.2.6低通数字滤波
9.3PID过程控制算法
9.3.1模拟控制系统
9.3.2微机过程控制系统
9.3.3数字控制系统
9.3.4模拟PID调节器
9.3.5数字PID控制器
9.3.6PID算法的程序流程
9.3.7标准PID算法的改进
9.3.8积分项的改进
9.3.9采样周期的选择
9.3.10数字PID控制的参数选择
9.3.11数字PID控制的工程实现
9.3.12偏差处理
9.4开关量滤波算法
第10章STM32开发工业级控制器应用
10.1工业级控制器的基本要求
10.2基于STM32F103设计的工业级控制器设计原理图
10.3硬件关键设计驱动解析
10.3.1光耦隔离输入检测电路
10.3.2基于达灵顿管的信号继电器驱动
10.3.3OLED显示驱动接口驱动
10.4Modbus通信协议
10.4.1Modbus协议概述
10.4.2Modbus协议的数据帧
10.4.3Modbus RTU通信结构模型
10.4.4Modbus RTU协议的实现
参考文献
前言/序言
嵌入式系统被描述为“以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统”,由嵌入式硬件和嵌入式软件两部分组成。硬件是支撑,软件是灵魂,几乎所有的嵌入式产品中都需要嵌入式软件来提供灵活多样而且应用特制的功能。由于嵌入式系统应用广泛,嵌入式软件在整个软件产业中占据了重要地位,并受到世界各国的广泛关注,如今已成为信息产业中最为耀眼的“明星”之一。
从20世纪90年代开始,以计算机技术、通信技术和软件技术为核心的信息技术取得了更加迅猛的发展。计算机技术也开始进入一个被称为后PC技术的时代。
20多年来,嵌入式操作系统得到飞速的发展: 微处理器从8位到16位、32位甚至64位; 从支持单一品种的CPU芯片到支持多品种的; 从单一内核到除了内核外还提供其他功能模块,如文件系统、TCP/IP网络系统、窗口图形系统等,并形成包括嵌入式操作系统、中间平台软件在内的嵌入式软件体系。硬件技术的进步,推动了嵌入式系统软件向运行速度更快、支持功能更强、应用开发更便捷的方向不断发展。
各种装备与设备上嵌入式计算与系统的广泛应用大大地推动了行业的渗透性应用。各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电、车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床、智能工具、工业机器人、服务机器人也将逐渐改变了传统的工业和服务方式。
随着嵌入式系统应用的不断深入和产业化程度的不断提升,新的应用环境和产业化需求对嵌入式系统软件提出了更加严格的要求。在新需求的推动下,嵌入式操作系统内核不仅需要具有微型化、高实时性等基本特征,还将向高可信性、自适应性、构件组件化方向发展; 支撑开发环境将更加集成化、自动化、人性化; 系统软件对无线通信和能源管理的功能支持将日益重要。
本书主要内容来自于我们研发团队实践,是研发团队多年来开发嵌入式系统积累的经验汇集,内容更重要地契合于嵌入式开发应用的实践。本书以STM32F103MCU应用为主要内容,详细介绍了STM32F103系列MCU的各种功能及其扩展应用,并且列举了这些功能应用的实例。这些实例都是经过严格测试、可直接应用到实践中的例程应用。读者可以根据自身的需求和功能进行订制和修改。本书所列举的代码都是基于3.5版本最新的库函数驱动。
主要内容
本书采用由简到难的编写思路,首先介绍简单嵌入式发展趋势和概念,然后逐步到功能性开发,举例分析,最后加深难度,介绍到高级应用,从而使读者很容易进行理解和消化。第1~3章介绍了嵌入式系统的基本概念、常用芯片、工具和嵌入式系统的开发过程; 第4章介绍了配套学习板的原理图和设计思路; 第5~7章介绍了STM32的基本使用和各种外设的驱动以及开发应用,并列举了各种典型的应用实例; 第8章介绍了μC/OS�并蛟赟TM32上的应用情况; 第9章详细介绍了STM32嵌入式系统中可以使用的一些经典实用算法; 第10章从实用角度列举了支持MODBUS通信协议的通用控制器开发实例。
本书中列举的实例具有一定难度,适合具有一定基础的读者使用,初学者请参考所带光盘和开发板的应用代码。本书的编写强调实用性和易用性,希望能解决读者学习和开发过程中的一些实际困难和问题。
读者群定位
本书的读者需要具有一定的C语言、单片机以及硬件设计基础,适合从事嵌入式开发的技术人员、STM32的初学者以及大专院校电子类专业的学生,也适合从8位、16位跨越到32位MCU开发平台的开发人员。本书可以作为大专院校课程设计、毕业设计或者电子竞赛的培训和指导教材,也可作为本、专科的单片机和嵌入式系统相关的教材。
书中包含代码下载使用
本书中所包含的代码测试程序均可在WWW.SEIPHER.COM下载,下载内容包括: 开发板的各项功能测试代码、已经移植好的μC/OS Ⅱ的模板代码,读者可以直接下载和编译。编译环境为Keil MDK 5.0以上版本。
读者可以直接使用例程中的代码开发新的应用,并快速完成新产品的开发。
联系作者
读者在使用本书的过程中,如果遇到相关的技术问题,或者对DevStm 4.0开发板有兴趣,可以通过电子邮件和作者联系,作者将尽最大努力与广大读者一起解决开发过程中遇到的问题,共同进步。
致谢
本书在编写过程中,得到了作者所在公司同事和家人的理解和大力支持,清华大学出版社刘星编辑也做了大量的支持工作,感谢王长乐、赵伟萍分别审阅了本书的相关章节内容。
本书编写过程中参考了大量的文献资料,一些资料来源于互联网和开源社区,书后的参考文献未能一一列举,再次对原作者和开源社区表示诚挚的谢意。
由于作者水平有限,加之编写时间仓促,书中难免存在不足和疏漏之处,敬请读者批评指正。
作者
2016年6月
ARM Cortex-M3嵌入式开发及应用(STM32系列)/电子设计与嵌入式开发实践丛书 下载 mobi epub pdf txt 电子书 格式
ARM Cortex-M3嵌入式开发及应用(STM32系列)/电子设计与嵌入式开发实践丛书 下载 mobi pdf epub txt 电子书 格式 2024
ARM Cortex-M3嵌入式开发及应用(STM32系列)/电子设计与嵌入式开发实践丛书 mobi epub pdf txt 电子书 格式下载 2024