STM32库开发实战指南

STM32库开发实战指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2013-07
版次: 1
ISBN: 9787111426370
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 481页
正文语种: 简体中文
498人买过
  •   《STM32库开发实战指南》基于STM32F103芯片,紧紧围绕“库”的分析和使用展开。在大量实例的基础上,《STM32库开发实战指南》对于如何综合运用固件库开发项目给出了具体的范例;在固件库的使用和学习的基础上,又进一步讲解了结合嵌入式实时操作系统、TCP/IP协议栈进行嵌入式系统开发的方法,让读者循序渐进、系统地掌握基于STM32官方库进行开发的方法。
      《STM32库开发实战指南》内容翔实,案例丰富,操作性极强,可作为高校电子信息、通信工程、信息工程等相关专业的教材,也适合作为从事嵌入式领域科技工作者的参考书。     刘火良,网名野火,嵌入式开发工程师,野火嵌入式开发工作室的创始人,长期从事基于ARM Cortex—M系列MCLJ嵌入式开发工作,积累了丰富的实战开发经验。作者在国内最受嵌入式开发工程师欢迎的阿莫电子论坛中担任版主。担任版主期间,为网友贡献了大量的实战开发教程和资料,累计下载量超过3万次,且被广泛转载,深得网友喜爱。杨森,网名flyleaf,嵌入式开发工程师,野火嵌入式开发工作室发起人,对嵌入式实时操作系统有深入的研究和理解。曾推出《从零开始移植uC/OS到野火STM32开发板》,以全新的视角自上而下讲解u C/OS移植方法,深受网友好评。 前言
    第一部分库开发初级篇
    第1章为什么学习STM32
    1.1嵌入式技术知识结构
    1.2嵌入式工程师成长之路
    1.3为什么学习STM32
    1.4如何学习STM32

    第2章初识STM32固件库
    2.1STM32神器之库开发
    2.1.1什么是STM32库
    2.1.2为什么采用库开发
    2.2STM32结构及库层次关系
    2.2.1CMSIS标准
    2.2.2库目录、文件简介
    2.2.3STM32固件库文件间的关系
    2.2.4使用库帮助文档

    第3章GPIO入门之流水灯
    3.1安装MDK
    3.2建立工程模板
    3.2.1新建工程
    3.2.2配置J-LINK硬件调试
    3.3如何编译和下载程序
    3.3.1如何编译程序
    3.3.2如何下载程序

    第4章深入分析流水灯例程
    4.1STM32的GPIO
    4.2STM32的地址映射
    4.2.1温故而知新——stm32f10x.h文件
    4.2.2外设基地址
    4.2.3总线外设基地址
    4.2.4寄存器组基地址
    4.3STM32固件库对寄存器的封装
    4.4STM32的时钟系统
    4.4.1时钟树&时钟源
    4.4.2高速外部时钟
    4.4.3HCLK、FCLK、PCLK1、PCLK2
    4.5LED具体代码分析
    4.5.1实验描述及工程文件清单
    4.5.2配置工程环境
    4.5.3编写用户文件
    4.5.4初始化结构体——GPIO_InitTypeDef类型
    4.5.5初始化库函数——GPIO_Init()
    4.5.6开启外设时钟
    4.5.7控制I/O输出高、低电平
    4.5.8led.h文件
    4.5.9main文件
    4.6GPIO_Init()函数的实现
    4.6.1规范的位操作方法
    4.6.2GPIO_Init()实现代码分析
    4.6.3再论开发方式
    4.7开发步骤总结

    第5章调试程序
    5.1MDK软件仿真调试
    5.2使用J-LINK进行硬件调试
    5.2.1硬件调试
    5.2.2软件编译过程
    5.3MDK使用小技巧

    第二部分库开发中级篇
    第6章GPIO再举例之按键实验
    6.1GPIO的8种工作模式
    6.1.14种输入模式
    6.1.24种输出模式
    6.2按键实验分析
    6.3按键代码分析
    6.3.1实验描述及工程文件清单
    6.3.2配置工程环境
    6.3.3main文件
    6.3.4GPIO初始化配置
    6.3.5利用固件库的数据类型
    6.3.6实现LED反转
    6.3.7实验现象

    第7章EXTI之按键中断实验
    7.1STM32的中断和异常
    7.2NVIC中断控制器
    7.2.1NVIC结构体成员
    7.2.2抢占优先级和响应优先级
    7.2.3NVIC的优先级组
    7.3EXTI外部中断
    7.4中断检测按键实验分析
    7.4.1实验描述及工程文件清单
    7.4.2配置工程环境
    7.4.3main文件
    7.4.4配置外部中断
    7.4.5AFIO时钟
    7.4.6NVIC初始化配置
    7.4.7EXTI初始化配置
    7.4.8编写中断服务函数
    7.4.9实验现象

    第8章串口通信(USART)
    8.1异步串口通信协议
    8.2直通线和交叉线
    8.3串口工作过程分析
    8.3.1波特率控制
    8.3.2收发控制
    8.3.3数据存储转移
    8.4串口通信实验分析
    8.4.1实验描述及工程文件清单
    8.4.2配置工程环境
    8.4.3main文件
    8.4.4USART初始化配置
    8.4.5printf()函数重定向
    8.4.6USART1_printf()函数
    8.4.7实验现象

    第9章库函数开发小结
    9.1初始化
    9.2数据输入输出
    9.3状态位、标志位
    9.3.1事件
    9.3.2标志位的检查与清除
    9.4外设函数分类

    第10章DMA——为CPU减负
    10.1DMA功能简介
    10.2DMA工作分析
    10.3DMA实例之串口通信
    10.3.1实验描述及工程文件清单
    10.3.2配置工程环境
    10.3.3main文件
    10.3.4DMA初始化
    10.3.5使用DMA中断
    10.3.6实验现象

    第11章ADC实验(DMA方式)
    11.1ADC简介
    11.2STM32的ADC主要技术指标
    11.3ADC工作过程分析
    11.4ADC采集数据实例(采用DMA模式)
    11.4.1实验描述及工程文件清单
    11.4.2配置工程环境
    11.4.3main文件
    11.4.4ADC初始化
    11.4.5计算电压值
    11.4.6实验现象

    第12章SysTick(系统滴答定时器)
    12.1SysTick——操作系统的心跳
    12.2SysTick工作分析
    12.3使用SysTick精确延时实验分析
    12.3.1实验描述及工程文件清单
    12.3.2配置工程环境
    12.3.3main文件
    12.3.4配置并启动SysTick
    12.3.5定时时间的计算
    12.3.6编写中断服务函数
    12.3.7使用SysTick测量时间的功能
    12.3.8实验现象

    第13章STM32定时器
    13.1定时器功能简介
    13.2定时器工作分析
    13.2.1基本定时器
    13.2.2通用定时器
    13.2.3高级定时器
    13.3PWM输出实例分析
    13.3.1实验描述及工程文件清单
    13.3.2配置工程环境
    13.3.3main文件
    13.3.4定时器初始化
    13.3.5实验现象

    第14章I2C接口
    14.1I2C协议简介
    14.1.1物理层
    14.1.2协议层
    14.2STM32的I2C特性及架构
    14.2.1I2C接口特性
    14.2.2I2C架构
    14.3I2C接口读写EEPROM实验
    14.3.1实验描述及工程文件清单
    14.3.2配置工程环境
    14.3.3main文件
    14.3.4I2C接口初始化
    14.3.5对EEPROM的读写操作
    14.3.6使用I2C读写EEPROM流程总结
    14.3.7实验现象

    第15章SPI模块
    15.1SPI协议简介
    15.1.1SPI信号线
    15.1.2SPI模式
    15.2STM32的SPI特性及架构
    15.2.1STM32的SPI特性
    15.2.2STM32的SPI架构分析
    15.3SPI接口读取Flash实例分析
    15.3.1实验描述及工程文件清单
    15.3.2配置工程环境
    15.3.3main文件
    15.3.4SPI初始化
    15.3.5控制Flash的命令
    15.3.6读取厂商ID
    15.3.7擦除Flash内容
    15.3.8向Flash写入数据
    15.3.9从Flash读取数据
    15.3.10小结
    15.3.11实验现象

    第16章CAN控制器
    16.1CAN协议简介
    16.1.1物理层
    16.1.2CAN的报文种类及结构
    16.1.3同步
    16.2STM32的CAN特性及架构
    16.2.1CAN特性
    16.2.2CAN架构
    16.3双CAN通信实验分析
    16.3.1实验描述及工程文件清单
    16.3.2配置工程环境
    16.3.3main文件
    16.3.4配置CAN接口
    16.3.5打包报文
    16.3.6发送报文
    16.3.7接收报文、编写中断服务函数
    16.3.8实验小结
    16.3.9实验现象

    第三部分库开发高级篇
    第17章SDIO之SD卡驱动
    17.1SD协议简介
    17.1.1卡的种类
    17.1.2SDIO基本架构
    17.2STM32的SDIO接口
    17.2.1从SDIO的时钟说起
    17.2.2SDIO的命令格式
    17.2.3数据传输格式
    17.3SD卡读写实验分析
    17.3.1实验描述及工程文件清单
    17.3.2配置工程环境
    17.3.3main文件
    17.3.4SDIO初始化
    17.3.5卡的上电识别流程
    17.3.6卡的初始化流程
    17.3.7对SD卡进行读写
    17.3.8原版官方驱动例程的bug
    17.3.9实验现象

    第18章文件系统之
    FATFS_R0.09
    18.1什么是文件系统
    18.2FATFS文件系统简介
    18.2.1FATFS的目录结构
    18.2.2FATFS帮助文档
    18.2.3FATFS源码
    18.3移植FATFS文件系统实验
    18.3.1实验描述及工程文件清单
    18.3.2配置工程环境
    18.3.3为文件系统添加底层驱动
    18.3.4添加简体中文和
    长文件名支持
    18.3.5main文件
    18.3.6实验现象

    第19章MP3播放器
    19.1MP3文件探秘
    19.1.1文件格式
    19.1.2MP3文件的原始数据
    19.1.3MP3文件格式
    19.2VS1003硬件解码芯片
    19.2.1VS1003芯片简介
    19.2.2TDA1308芯片
    19.3MP3播放器实验
    19.3.1实验描述及工程文件清单
    19.3.2配置工程环境
    19.3.3main文件
    19.3.4控制VS1003进入准备状态
    19.3.5播放MP3文件
    19.3.6STM32的堆栈
    19.3.7实验现象

    第20章USB大容量存储器实例
    20.1USB协议分析
    20.1.1协议版本
    20.1.2USB电气特性
    20.1.3USB通信模型
    20.1.4USB枚举
    20.2STM32的USB控制器
    20.3USB读取SD卡——模拟U盘实验
    20.3.1实验描述及工程文件清单
    20.3.2配置工程环境
    20.3.3USB固件库说明
    20.3.4main文件
    20.3.5基本配置
    20.3.6USB初始化
    20.3.7中断服务函数
    20.3.8BOT和SCSI协议
    20.3.9实验现象

    第21章LCD触摸屏画板
    21.1LCD控制器简介
    21.1.1ILI9341控制器结构
    21.1.2像素点的数据格式
    21.1.3ILI9341的通信时序
    21.2用STM32驱动LCD
    21.2.1FSMC简介
    21.2.2用FSMC模拟8080时序
    21.3触摸屏感应原理
    21.4TSC2046触摸屏控制器
    21.5LCD触摸屏画板实验
    21.5.1实验描述及工程文件清单
    21.5.2配置工程环境
    21.5.3main文件
    21.5.4初始化FSMC模式
    21.5.5FSMC模拟8080读写参数、命令
    21.5.6液晶屏画点函数
    21.5.7触摸屏校正
    21.5.8检测触点、画点
    21.5.9实验现象

    第22章字库及BMP图片显示
    22.1什么是字模
    22.2制作字模
    22.3BMP图片格式
    22.4显示中英文及BMP图片实验
    22.4.1实验描述及工程文件清单
    22.4.2配置工程环境
    22.4.3main文件
    22.4.4显示汉字
    22.4.5在SD卡上读取与保存BMP图像
    22.4.6实验现象

    第23章OV7670摄像头驱动
    23.1摄像头的分类
    23.1.1数字摄像头与模拟摄像头的区别
    23.1.2CCD与CMOS的区别
    23.2OV7670介绍
    23.2.1OV7670功能框架
    23.2.2OV7670管脚封装
    23.3SCCB总线
    23.3.1SCCB接口定义
    23.3.2SCCB时序描述
    23.4摄像头模块
    23.4.1摄像头模块硬件介绍
    23.4.2OV7670输出时序
    23.4.3FIF时序
    23.4.4摄像头的驱动原理
    23.5摄像头驱动实验
    23.5.1实验描述及工程文件清单
    23.5.2配置工程环境
    23.5.3main文件
    23.5.4SCCB总线的软件实现
    23.5.5初始化OV7670
    23.5.6采集并显示图像
    23.5.7实验现象

    第24章以太网及LwIP协议栈移植
    24.1互联网模型
    24.2以太网
    24.2.1PHY层
    24.2.2MAC子层
    24.2.3以太网控制器
    24.3MAC之上的网络层
    24.3.1为什么在MAC之上还有分层
    24.3.2TCP/IP协议中各层次的功能
    24.3.3LwIP协议栈
    24.4ENC28J60+LwIP以太网实验
    24.4.1实验描述及工程文件清单
    24.4.2配置工程环境
    24.4.3main文件
    24.4.4LwIP对底层数据结构的封装
    24.4.5初始化协议栈
    24.4.6LwIP对底层操作的封装
    24.4.7轮询和计时
    24.4.8opt.h文件和debug
    24.4.9LwIP应用
    24.4.10网页服务器
    24.4.11实验现象

    第25章Wi-Fi模块EMW3180驱动
    25.1资料与工具下载
    25.2EMW3180简介
    25.3EMW3180驱动实验
    25.3.1实验描述及工程文件清单
    25.3.2配置工程环境
    25.3.3EMSP_API函数
    25.3.4API函数一览
    25.3.5main文件
    25.3.6em380c_hal.c文件
    25.3.7实验现象

    第四部分库开发系统篇
    第26章μC/OS-Ⅲ及其源代码介绍
    26.1μC/OS简介
    26.1.1操作系统与裸机的区别
    26.1.2μC/OS实时操作系统
    26.2μC/OS-Ⅲ与μC/OS-Ⅱ的主要区别
    26.3μC/OS-Ⅲ源码
    26.4μC/OS-Ⅲ工程架构

    第27章移植μC/OS-Ⅲ到STM32
    27.1搭建μC/OS工程文件结构
    27.2修改μC/OS代码
    27.2.1修改os_cpu.h文件
    27.2.2修改os_cpu_c.c
    27.2.3修改os_cpu_a.asm文件
    27.2.4修改cpu_a.asm文件
    27.2.5修改startup_stm32f10x_hd.s文件
    27.2.6修改stm32f10x_it.c文件
    27.3编写用户文件
    27.3.1编写includes.h文件
    27.3.2编写BSP相关文件
    27.3.3创建任务
    27.4配置μC/OS-Ⅲ

    第28章运行多任务
    28.1创建用户任务
    28.2编写用户代码
    28.3任务执行流程
    参考文献
  • 内容简介:
      《STM32库开发实战指南》基于STM32F103芯片,紧紧围绕“库”的分析和使用展开。在大量实例的基础上,《STM32库开发实战指南》对于如何综合运用固件库开发项目给出了具体的范例;在固件库的使用和学习的基础上,又进一步讲解了结合嵌入式实时操作系统、TCP/IP协议栈进行嵌入式系统开发的方法,让读者循序渐进、系统地掌握基于STM32官方库进行开发的方法。
      《STM32库开发实战指南》内容翔实,案例丰富,操作性极强,可作为高校电子信息、通信工程、信息工程等相关专业的教材,也适合作为从事嵌入式领域科技工作者的参考书。
  • 作者简介:
        刘火良,网名野火,嵌入式开发工程师,野火嵌入式开发工作室的创始人,长期从事基于ARM Cortex—M系列MCLJ嵌入式开发工作,积累了丰富的实战开发经验。作者在国内最受嵌入式开发工程师欢迎的阿莫电子论坛中担任版主。担任版主期间,为网友贡献了大量的实战开发教程和资料,累计下载量超过3万次,且被广泛转载,深得网友喜爱。杨森,网名flyleaf,嵌入式开发工程师,野火嵌入式开发工作室发起人,对嵌入式实时操作系统有深入的研究和理解。曾推出《从零开始移植uC/OS到野火STM32开发板》,以全新的视角自上而下讲解u C/OS移植方法,深受网友好评。
  • 目录:
    前言
    第一部分库开发初级篇
    第1章为什么学习STM32
    1.1嵌入式技术知识结构
    1.2嵌入式工程师成长之路
    1.3为什么学习STM32
    1.4如何学习STM32

    第2章初识STM32固件库
    2.1STM32神器之库开发
    2.1.1什么是STM32库
    2.1.2为什么采用库开发
    2.2STM32结构及库层次关系
    2.2.1CMSIS标准
    2.2.2库目录、文件简介
    2.2.3STM32固件库文件间的关系
    2.2.4使用库帮助文档

    第3章GPIO入门之流水灯
    3.1安装MDK
    3.2建立工程模板
    3.2.1新建工程
    3.2.2配置J-LINK硬件调试
    3.3如何编译和下载程序
    3.3.1如何编译程序
    3.3.2如何下载程序

    第4章深入分析流水灯例程
    4.1STM32的GPIO
    4.2STM32的地址映射
    4.2.1温故而知新——stm32f10x.h文件
    4.2.2外设基地址
    4.2.3总线外设基地址
    4.2.4寄存器组基地址
    4.3STM32固件库对寄存器的封装
    4.4STM32的时钟系统
    4.4.1时钟树&时钟源
    4.4.2高速外部时钟
    4.4.3HCLK、FCLK、PCLK1、PCLK2
    4.5LED具体代码分析
    4.5.1实验描述及工程文件清单
    4.5.2配置工程环境
    4.5.3编写用户文件
    4.5.4初始化结构体——GPIO_InitTypeDef类型
    4.5.5初始化库函数——GPIO_Init()
    4.5.6开启外设时钟
    4.5.7控制I/O输出高、低电平
    4.5.8led.h文件
    4.5.9main文件
    4.6GPIO_Init()函数的实现
    4.6.1规范的位操作方法
    4.6.2GPIO_Init()实现代码分析
    4.6.3再论开发方式
    4.7开发步骤总结

    第5章调试程序
    5.1MDK软件仿真调试
    5.2使用J-LINK进行硬件调试
    5.2.1硬件调试
    5.2.2软件编译过程
    5.3MDK使用小技巧

    第二部分库开发中级篇
    第6章GPIO再举例之按键实验
    6.1GPIO的8种工作模式
    6.1.14种输入模式
    6.1.24种输出模式
    6.2按键实验分析
    6.3按键代码分析
    6.3.1实验描述及工程文件清单
    6.3.2配置工程环境
    6.3.3main文件
    6.3.4GPIO初始化配置
    6.3.5利用固件库的数据类型
    6.3.6实现LED反转
    6.3.7实验现象

    第7章EXTI之按键中断实验
    7.1STM32的中断和异常
    7.2NVIC中断控制器
    7.2.1NVIC结构体成员
    7.2.2抢占优先级和响应优先级
    7.2.3NVIC的优先级组
    7.3EXTI外部中断
    7.4中断检测按键实验分析
    7.4.1实验描述及工程文件清单
    7.4.2配置工程环境
    7.4.3main文件
    7.4.4配置外部中断
    7.4.5AFIO时钟
    7.4.6NVIC初始化配置
    7.4.7EXTI初始化配置
    7.4.8编写中断服务函数
    7.4.9实验现象

    第8章串口通信(USART)
    8.1异步串口通信协议
    8.2直通线和交叉线
    8.3串口工作过程分析
    8.3.1波特率控制
    8.3.2收发控制
    8.3.3数据存储转移
    8.4串口通信实验分析
    8.4.1实验描述及工程文件清单
    8.4.2配置工程环境
    8.4.3main文件
    8.4.4USART初始化配置
    8.4.5printf()函数重定向
    8.4.6USART1_printf()函数
    8.4.7实验现象

    第9章库函数开发小结
    9.1初始化
    9.2数据输入输出
    9.3状态位、标志位
    9.3.1事件
    9.3.2标志位的检查与清除
    9.4外设函数分类

    第10章DMA——为CPU减负
    10.1DMA功能简介
    10.2DMA工作分析
    10.3DMA实例之串口通信
    10.3.1实验描述及工程文件清单
    10.3.2配置工程环境
    10.3.3main文件
    10.3.4DMA初始化
    10.3.5使用DMA中断
    10.3.6实验现象

    第11章ADC实验(DMA方式)
    11.1ADC简介
    11.2STM32的ADC主要技术指标
    11.3ADC工作过程分析
    11.4ADC采集数据实例(采用DMA模式)
    11.4.1实验描述及工程文件清单
    11.4.2配置工程环境
    11.4.3main文件
    11.4.4ADC初始化
    11.4.5计算电压值
    11.4.6实验现象

    第12章SysTick(系统滴答定时器)
    12.1SysTick——操作系统的心跳
    12.2SysTick工作分析
    12.3使用SysTick精确延时实验分析
    12.3.1实验描述及工程文件清单
    12.3.2配置工程环境
    12.3.3main文件
    12.3.4配置并启动SysTick
    12.3.5定时时间的计算
    12.3.6编写中断服务函数
    12.3.7使用SysTick测量时间的功能
    12.3.8实验现象

    第13章STM32定时器
    13.1定时器功能简介
    13.2定时器工作分析
    13.2.1基本定时器
    13.2.2通用定时器
    13.2.3高级定时器
    13.3PWM输出实例分析
    13.3.1实验描述及工程文件清单
    13.3.2配置工程环境
    13.3.3main文件
    13.3.4定时器初始化
    13.3.5实验现象

    第14章I2C接口
    14.1I2C协议简介
    14.1.1物理层
    14.1.2协议层
    14.2STM32的I2C特性及架构
    14.2.1I2C接口特性
    14.2.2I2C架构
    14.3I2C接口读写EEPROM实验
    14.3.1实验描述及工程文件清单
    14.3.2配置工程环境
    14.3.3main文件
    14.3.4I2C接口初始化
    14.3.5对EEPROM的读写操作
    14.3.6使用I2C读写EEPROM流程总结
    14.3.7实验现象

    第15章SPI模块
    15.1SPI协议简介
    15.1.1SPI信号线
    15.1.2SPI模式
    15.2STM32的SPI特性及架构
    15.2.1STM32的SPI特性
    15.2.2STM32的SPI架构分析
    15.3SPI接口读取Flash实例分析
    15.3.1实验描述及工程文件清单
    15.3.2配置工程环境
    15.3.3main文件
    15.3.4SPI初始化
    15.3.5控制Flash的命令
    15.3.6读取厂商ID
    15.3.7擦除Flash内容
    15.3.8向Flash写入数据
    15.3.9从Flash读取数据
    15.3.10小结
    15.3.11实验现象

    第16章CAN控制器
    16.1CAN协议简介
    16.1.1物理层
    16.1.2CAN的报文种类及结构
    16.1.3同步
    16.2STM32的CAN特性及架构
    16.2.1CAN特性
    16.2.2CAN架构
    16.3双CAN通信实验分析
    16.3.1实验描述及工程文件清单
    16.3.2配置工程环境
    16.3.3main文件
    16.3.4配置CAN接口
    16.3.5打包报文
    16.3.6发送报文
    16.3.7接收报文、编写中断服务函数
    16.3.8实验小结
    16.3.9实验现象

    第三部分库开发高级篇
    第17章SDIO之SD卡驱动
    17.1SD协议简介
    17.1.1卡的种类
    17.1.2SDIO基本架构
    17.2STM32的SDIO接口
    17.2.1从SDIO的时钟说起
    17.2.2SDIO的命令格式
    17.2.3数据传输格式
    17.3SD卡读写实验分析
    17.3.1实验描述及工程文件清单
    17.3.2配置工程环境
    17.3.3main文件
    17.3.4SDIO初始化
    17.3.5卡的上电识别流程
    17.3.6卡的初始化流程
    17.3.7对SD卡进行读写
    17.3.8原版官方驱动例程的bug
    17.3.9实验现象

    第18章文件系统之
    FATFS_R0.09
    18.1什么是文件系统
    18.2FATFS文件系统简介
    18.2.1FATFS的目录结构
    18.2.2FATFS帮助文档
    18.2.3FATFS源码
    18.3移植FATFS文件系统实验
    18.3.1实验描述及工程文件清单
    18.3.2配置工程环境
    18.3.3为文件系统添加底层驱动
    18.3.4添加简体中文和
    长文件名支持
    18.3.5main文件
    18.3.6实验现象

    第19章MP3播放器
    19.1MP3文件探秘
    19.1.1文件格式
    19.1.2MP3文件的原始数据
    19.1.3MP3文件格式
    19.2VS1003硬件解码芯片
    19.2.1VS1003芯片简介
    19.2.2TDA1308芯片
    19.3MP3播放器实验
    19.3.1实验描述及工程文件清单
    19.3.2配置工程环境
    19.3.3main文件
    19.3.4控制VS1003进入准备状态
    19.3.5播放MP3文件
    19.3.6STM32的堆栈
    19.3.7实验现象

    第20章USB大容量存储器实例
    20.1USB协议分析
    20.1.1协议版本
    20.1.2USB电气特性
    20.1.3USB通信模型
    20.1.4USB枚举
    20.2STM32的USB控制器
    20.3USB读取SD卡——模拟U盘实验
    20.3.1实验描述及工程文件清单
    20.3.2配置工程环境
    20.3.3USB固件库说明
    20.3.4main文件
    20.3.5基本配置
    20.3.6USB初始化
    20.3.7中断服务函数
    20.3.8BOT和SCSI协议
    20.3.9实验现象

    第21章LCD触摸屏画板
    21.1LCD控制器简介
    21.1.1ILI9341控制器结构
    21.1.2像素点的数据格式
    21.1.3ILI9341的通信时序
    21.2用STM32驱动LCD
    21.2.1FSMC简介
    21.2.2用FSMC模拟8080时序
    21.3触摸屏感应原理
    21.4TSC2046触摸屏控制器
    21.5LCD触摸屏画板实验
    21.5.1实验描述及工程文件清单
    21.5.2配置工程环境
    21.5.3main文件
    21.5.4初始化FSMC模式
    21.5.5FSMC模拟8080读写参数、命令
    21.5.6液晶屏画点函数
    21.5.7触摸屏校正
    21.5.8检测触点、画点
    21.5.9实验现象

    第22章字库及BMP图片显示
    22.1什么是字模
    22.2制作字模
    22.3BMP图片格式
    22.4显示中英文及BMP图片实验
    22.4.1实验描述及工程文件清单
    22.4.2配置工程环境
    22.4.3main文件
    22.4.4显示汉字
    22.4.5在SD卡上读取与保存BMP图像
    22.4.6实验现象

    第23章OV7670摄像头驱动
    23.1摄像头的分类
    23.1.1数字摄像头与模拟摄像头的区别
    23.1.2CCD与CMOS的区别
    23.2OV7670介绍
    23.2.1OV7670功能框架
    23.2.2OV7670管脚封装
    23.3SCCB总线
    23.3.1SCCB接口定义
    23.3.2SCCB时序描述
    23.4摄像头模块
    23.4.1摄像头模块硬件介绍
    23.4.2OV7670输出时序
    23.4.3FIF时序
    23.4.4摄像头的驱动原理
    23.5摄像头驱动实验
    23.5.1实验描述及工程文件清单
    23.5.2配置工程环境
    23.5.3main文件
    23.5.4SCCB总线的软件实现
    23.5.5初始化OV7670
    23.5.6采集并显示图像
    23.5.7实验现象

    第24章以太网及LwIP协议栈移植
    24.1互联网模型
    24.2以太网
    24.2.1PHY层
    24.2.2MAC子层
    24.2.3以太网控制器
    24.3MAC之上的网络层
    24.3.1为什么在MAC之上还有分层
    24.3.2TCP/IP协议中各层次的功能
    24.3.3LwIP协议栈
    24.4ENC28J60+LwIP以太网实验
    24.4.1实验描述及工程文件清单
    24.4.2配置工程环境
    24.4.3main文件
    24.4.4LwIP对底层数据结构的封装
    24.4.5初始化协议栈
    24.4.6LwIP对底层操作的封装
    24.4.7轮询和计时
    24.4.8opt.h文件和debug
    24.4.9LwIP应用
    24.4.10网页服务器
    24.4.11实验现象

    第25章Wi-Fi模块EMW3180驱动
    25.1资料与工具下载
    25.2EMW3180简介
    25.3EMW3180驱动实验
    25.3.1实验描述及工程文件清单
    25.3.2配置工程环境
    25.3.3EMSP_API函数
    25.3.4API函数一览
    25.3.5main文件
    25.3.6em380c_hal.c文件
    25.3.7实验现象

    第四部分库开发系统篇
    第26章μC/OS-Ⅲ及其源代码介绍
    26.1μC/OS简介
    26.1.1操作系统与裸机的区别
    26.1.2μC/OS实时操作系统
    26.2μC/OS-Ⅲ与μC/OS-Ⅱ的主要区别
    26.3μC/OS-Ⅲ源码
    26.4μC/OS-Ⅲ工程架构

    第27章移植μC/OS-Ⅲ到STM32
    27.1搭建μC/OS工程文件结构
    27.2修改μC/OS代码
    27.2.1修改os_cpu.h文件
    27.2.2修改os_cpu_c.c
    27.2.3修改os_cpu_a.asm文件
    27.2.4修改cpu_a.asm文件
    27.2.5修改startup_stm32f10x_hd.s文件
    27.2.6修改stm32f10x_it.c文件
    27.3编写用户文件
    27.3.1编写includes.h文件
    27.3.2编写BSP相关文件
    27.3.3创建任务
    27.4配置μC/OS-Ⅲ

    第28章运行多任务
    28.1创建用户任务
    28.2编写用户代码
    28.3任务执行流程
    参考文献
查看详情
相关图书 / 更多
STM32库开发实战指南
STEM与计算思维/“中国STEM教育2029行动计划”丛书
于晓雅 著
STM32库开发实战指南
STEM与创新思维/“中国STEM教育2029行动计划”丛书
[新加坡]李德威 主编
STM32库开发实战指南
STEAM 英语分级读物 第3级 C辑
拉内·安德森
STM32库开发实战指南
STEM与人工智能/“中国STEM教育2029行动计划”丛书
汤淑明 主编
STM32库开发实战指南
STEM课程设计与实施/“中国STEM教育2029行动计划”丛书
黄志红 主编;辛海洋 副主编;周嘉
STM32库开发实战指南
STM32嵌入式系统设计与应用
李正军 李潇然
STM32库开发实战指南
STEM与设计思维/“中国STEM教育2029行动计划”丛书
丁峻峰 主编
STM32库开发实战指南
STM32快速入门教程——基于STM32F103VET6
欧启标
STM32库开发实战指南
STEAM英语分级读物 第5级 B辑
柯蒂斯·斯莱皮恩
STM32库开发实战指南
STC 32位 8051单片机原理与应用
丁向荣
STM32库开发实战指南
STM32物联网入门30步
杜洋
STM32库开发实战指南
STC15单片机智能车实践教程
杨中兴、李笑岩 编