您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
STM32Cube高效开发教程(高级篇)
字数: 831000
装帧: 平装
出版社: 人民邮电出版社
出版日期: 2022-03-01
商品条码: 9787115552518
版次: 1
开本: 16开
页数: 520
出版年份: 2022
定价:
¥129.9
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
1. 使用ST官方的STM32Cube全套工具链软件。STM32CubeMX进行MCU图形化配置然后导出初始化代码的开发方式简单便捷,程序结构统一,开发效率高,是广大初学者最容易掌握的方式。 2. 使用ST官方免费的IDE软件TrueSTUDIO和STM32CubeIDE,没有软件版权风险。 3. 本书介绍STM32 嵌入式开发的高级内容:STM32Cube MCU 固件库所包含一些移植好的中间件,如 FreeRTOS、FatFS、LibJPEG、USB_Host、USB_Device 等,以及 SDIO、USB-OTG、DCMI 等硬件接口的编程和使用方法,旨在帮助读者掌握嵌入式操作系统、嵌入式文件系统、图片显示和触摸屏交互操作等知识。 4. 本书为读者提供示例源代码、示例运行演示视频、课件等资源,读者可登录异步社区图书页面下载。
内容简介
本书介绍STM32开发的一些高级内容。第一部分详细介绍嵌入式操作系统FreeRTOS的使用:第二部分介绍使用FatFS管理SPI-Flash芯片、SD卡和U盘上的文件系统;第三部分介绍BMP和JPG图片的获取与显示,触摸屏的使用,DCMI接口和数字摄像头等。全书使用STM32CubeMX和STM32CubeIDE软件开发例程,讲解FreeRTOS、FatFS、LibJPEG、USB_Host、USB_Device等中间件以及SDIO、USB-OTG、DCMI等外设的原理和使用方法,并针对一个STM32F407开发板编写了完整示例项目。通过阅读本书,读者可以掌握STM32开发中的嵌入式操作系统、文件系统、触摸屏等高级软硬件的开发方法。本书适合已经掌握STM32CubeMX和STM32CubeIDE软件的使用以及STM32常用外设的STM32Cube开发等相关基础内容的读者阅读,可以作为高等院校电子、自动化、计算机类专业的教学用书,也可作为STM32嵌入式系统开发的参考书。
作者简介
王维波,博士、中国石油大学(华东)控制科学与工程学院教师。从事测控与仪器开发领域的教学和研究工作,主要研究方向是地球物理探测仪器开发、数据处理方法和软件开发。参与完成国家自然科学基金、山东省重点研发计划等多个科研项目,发表论文 20 余篇。著有《Qt 5.9 C++ 开发指南》和《Python Qt GUI 与数据可视化编程》。 鄢志丹,博士、中国石油大学(华东)控制科学与工程学院教师。从事随钻测控技术、自抗扰控制方法、井下仪器开发、微弱信号处理等方面的研究工作。主持国家自然科学基金、中国博士后科学基金、山东省自然科学基金等 10 余个科研项目,获授权发明专利 10 余项,发表论文 30 余篇。 王钊,博士、中国石油大学(华东)控制科学与工程学院教师。从事自动化相关的教学和研究工作,主要研究方向是非线性系统的非光滑控制研究、故障诊断、工业过程控制等。主持山东省优秀中青年科学家科研奖励基金项目 1 项,发表论文 20 余篇,作为副主编编写教材1 部。
目录
第一部分 嵌入式操作系统FreeRTOS
第1章 FreeRTOS基础2
1.1 FreeRTOS概述2
1.1.1 FreeRTOS的发展历史2
1.1.2 FreeRTOS的特点和许可方式2
1.1.3 FreeRTOS的一些概念和术语3
1.1.4 为什么要使用RTOS4
1.2 FreeRTOS入门示例4
1.2.1 CubeMX项目配置5
1.2.2 含FreeRTOS的项目的文件组成8
1.2.3 程序分析和功能实现9
1.3 FreeRTOS的文件组成和基本原理15
1.3.1 FreeRTOS的文件组成15
1.3.2 FreeRTOS的编码规则20
1.3.3 FreeRTOS的配置和功能裁剪21
第2章 FreeRTOS的任务管理29
2.1 任务相关的一些概念29
2.1.1 多任务运行基本机制29
2.1.2 任务的状态30
2.1.3 任务的优先级31
2.1.4 空闲任务32
2.1.5 基础时钟与嘀嗒信号32
2.2 FreeRTOS的任务调度32
2.2.1 任务调度方法概述32
2.2.2 使用时间片的抢占式调度方法33
2.2.3 不使用时间片的抢占式调度方法34
2.2.4 合作式任务调度方法35
2.3 任务管理相关函数36
2.3.1 相关函数概述36
2.3.2 主要函数功能说明38
2.4 多任务编程示例一40
2.4.1 示例功能与CubeMX项目设置40
2.4.2 初始程序分析42
2.4.3 编写用户功能代码44
2.5 任务管理工具函数49
2.5.1 相关函数概述49
2.5.2 获取任务句柄50
2.5.3 单个任务的操作51
2.5.4 内核信息统计53
2.6 多任务编程示例二55
2.6.1 示例功能与CubeMX项目设置55
2.6.2 程序功能实现56
第3章 FreeRTOS的中断管理62
3.1 FreeRTOS与中断62
3.2 任务与中断服务例程64
3.2.1 任务与中断服务例程的关系64
3.2.2 中断屏蔽和临界代码段65
3.2.3 在ISR中使用FreeRTOS API函数66
3.2.4 中断及其ISR设计原则67
3.3 任务和中断程序设计示例67
3.3.1 示例功能和CubeMX项目设置67
3.3.2 基本功能代码69
3.3.3 各种特性的测试71
第4章 进程间通信与消息队列74
4.1 进程间通信74
4.2 队列的特点和基本操作75
4.2.1 队列的创建和存储75
4.2.2 向队列写入数据76
4.2.3 从队列读取数据77
4.2.4 队列操作相关函数78
4.3 队列使用示例79
4.3.1 示例功能和CubeMX项目设置79
4.3.2 初始代码分析80
4.3.3 实现用户功能82
第5章 信号量86
5.1 信号量和互斥量概述86
5.1.1 二值信号量86
5.1.2 计数信号量87
5.1.3 互斥量87
5.1.4 递归互斥量88
5.1.5 相关函数概述88
5.2 二值信号量使用示例90
5.2.1 二值信号量操作相关函数详解90
5.2.2 示例功能和CubeMX项目设置92
5.2.3 程序功能实现94
5.3 计数信号量使用示例98
5.3.1 计数信号量操作相关函数详解98
5.3.2 示例功能和CubeMX项目设置99
5.3.3 程序功能实现100
第6章 互斥量104
6.1 优先级翻转问题104
6.2 互斥量的工作原理105
6.2.1 优先级继承105
6.2.2 互斥量相关函数详解105
6.3 优先级翻转示例106
6.3.1 示例功能和CubeMX项目设置106
6.3.2 程序功能实现107
6.4 互斥量使用示例111
6.4.1 示例功能和CubeMX项目设置111
6.4.2 程序功能实现111
第7章 事件组115
7.1 事件组的原理和功能115
7.1.1 事件组的功能特点115
7.1.2 事件组的工作原理115
7.2 事件组相关函数116
7.2.1 相关函数概述116
7.2.2 部分函数详解117
7.3 事件组使用示例120
7.3.1 示例功能和CubeMX项目设置120
7.3.2 程序功能实现120
7.4 通过事件组进行多任务同步125
7.4.1 多任务同步原理125
7.4.2 示例功能和CubeMX项目设置126
7.4.3 程序功能实现127
第8章 任务通知132
8.1 任务通知的原理和功能132
8.2 任务通知的相关函数133
8.2.1 相关函数概述133
8.2.2 函数详解134
8.3 示例一:使用任务通知传递数据137
8.3.1 示例功能与CubeMX项目设置137
8.3.2 程序功能实现138
8.4 示例二:将任务通知用作计数信号量141
8.4.1 示例功能141
8.4.2 CubeMX项目设置141
8.4.3 程序功能实现142
第9章 流缓冲区和消息缓冲区145
9.1 流缓冲区功能概述145
9.2 流缓冲区操作的相关函数146
9.2.1 相关函数概述146
9.2.2 部分函数详解146
9.2.3 表示发送完成和接收完成的宏149
9.3 流缓冲区使用示例149
9.3.1 示例功能与CubeMX项目设置149
9.3.2 程序功能实现151
9.4 消息缓冲区功能概述154
9.5 消息缓冲区操作相关函数154
9.5.1 相关函数概述154
9.5.2 部分函数详解155
9.6 消息缓冲区使用示例157
9.6.1 示例功能与CubeMX项目设置157
9.6.2 程序功能实现158
第10章 软件定时器162
10.1 软件定时器概述162
10.1.1 软件定时器的特性162
10.1.2 软件定时器的相关配置163
10.1.3 定时器服务任务的优先级163
10.2 软件定时器的相关函数164
10.2.1 相关函数概述164
10.2.2 部分函数详解165
10.3 软件定时器使用示例169
10.3.1 示例功能和CubeMX项目设置169
10.3.2 程序功能实现170
第11章 空闲任务与低功耗174
11.1 HAL和FreeRTOS的基础时钟174
11.1.1 使用SysTick作为HAL的基础时钟174
11.1.2 使用其他定时器作为HAL的基础时钟177
11.1.3 FreeRTOS的基础时钟179
11.2 空闲任务与低功耗处理182
11.2.1 实现原理182
11.2.2 设计示例183
11.3 Tickless低功耗模式186
11.3.1 Tickless模式的原理和功能186
11.3.2 Tickless模式的使用示例187
第二部分 FatFS管理文件系统
第12章 FatFS和文件系统192
12.1 FatFS概述192
12.1.1 FatFS的作用192
12.1.2 文件系统的一些基本概念193
12.1.3 FatFS的功能特点和参数194
12.1.4 FatFS的文件组成195
12.1.5 FatFS的基本数据类型定义196
12.2 FatFS的应用程序接口函数197
12.2.1 卷管理和系统配置相关函数197
12.2.2 文件和目录管理相关函数200
12.2.3 目录访问相关函数203
12.2.4 文件访问相关函数204
12.3 FatFS的存储介质访问函数208
12.4 针对SPI-Flash芯片移植FatFS209
12.4.1 SPI-Flash芯片硬件电路209
12.4.2 CubeMX项目基础设置210
12.4.3 在CubeMX中设置FatFS210
12.4.4 项目中FatFS的文件组成216
12.4.5 FatFS初始化过程218
12.4.6 针对SPI-Flash芯片的Disk IO函数实现226
12.5 在SPI-Flash芯片上使用文件系统231
12.5.1 主程序功能231
12.5.2 磁盘格式化234
12.5.3 获取FAT磁盘信息234
12.5.4 扫描根目录下的文件和子目录236
12.5.5 创建文件和目录237
12.5.6 读取文本文件239
12.5.7 读取二进制文件239
12.5.8 获取文件信息241
12.5.9 文件file_opera.h的完整定义242
第13章 直接访问SD卡245
13.1 SD卡简介245
13.1.1 SD卡的分类245
13.1.2 常规SD卡的接口246
13.2 SDIO接口硬件电路247
13.2.1 STM32F407的SDIO接口247
13.2.2 开发板上的microSD卡连接电路248
13.3 SDIO接口和SD卡的HAL驱动程序249
13.3.1 SD驱动程序概述250
13.3.2 初始化和配置函数251
13.3.3 读取SD卡的参数信息251
13.3.4 获取SD卡的当前状态255
13.3.5 以轮询方式读写SD卡255
13.3.6 以中断方式读写SD卡256
13.3.7 以DMA方式读写SD卡256
13.4 示例一:以轮询方式读写SD卡257
13.4.1 示例功能与CubeMX项目设置257
13.4.2 主程序与SDIO接口/SD卡初始化259
13.4.3 程序功能实现260
13.5 示例二:以DMA方式读写SD卡264
13.5.1 示例功能与CubeMX项目设置264
13.5.2 主程序与外设初始化265
13.5.3 程序功能实现268
第14章 用FatFS管理SD卡文件系统272
14.1 SD卡文件系统概述272
14.2 示例一:阻塞式访问SD卡272
14.2.1 示例功能与CubeMX项目设置272
14.2.2 项目文件组成和初始代码分析274
14.2.3 SD卡的Disk IO函数实现278
14.2.4 SD卡文件管理功能的实现284
14.3 示例二:以DMA方式访问SD卡288
14.3.1 示例功能和CubeMX项目设置288
14.3.2 Disk IO函数实现代码分析289
14.3.3 SD卡文件管理功能的实现291
第15章 用FatFS管理U盘文件系统295
15.1 USB概述295
15.1.1 USB协议295
15.1.2 USB设备类型296
15.1.3 USB接口类型296
15.2 STM32F407的USB-OTG接口298
15.2.1 USB-OTG概述298
15.2.2 USB-OTG FS299
15.2.3 开发板上的USB接口电路302
15.3 作为USB Host读写U盘303
15.3.1 示例功能和CubeMX项目设置303
15.3.2 项目文件组成和初始代码分析307
15.3.3 USBH状态变化测试316
15.3.4 U盘文件管理功能实现318
第16章 USB-OTG用作USB MSC外设324
16.1 开发板作为USB MSC外设的原理324
16.2 示例一:SD卡读卡器326
16.2.1 示例功能和CubeMX项目设置326
16.2.2 项目文件组成和初始代码分析328
16.2.3 程序功能实现333
16.3 示例二:增加FatFS管理本机文件功能336
16.3.1 示例功能和CubeMX项目设置336
16.3.2 程序功能实现337
16.3.3 运行测试340
第17章 在FreeRTOS中使用FatFS341
17.1 在RTOS中使用FatFS需考虑的问题341
17.1.1 可重入性问题341
17.1.2 FatFS的可重入性341
17.2 FreeRTOS中使用FatFS的示例343
17.2.1 示例功能和CubeMX项目设置343
17.2.2 项目文件组成和初始代码分析346
17.2.3 FatFS API函数的重入性实现原理350
17.2.4 添加用户功能代码354
第三部分 图片的获取与显示
第18章 BMP图片360
18.1 LCD显示图片的原理360
18.1.1 像素颜色的表示360
18.1.2 根据图片的RGB565数据显示图片360
18.2 图片显示示例362
18.2.1 示例功能与CubeMX项目配置362
18.2.2 程序功能实现363
18.3 BMP图片文件的格式368
18.3.1 BMP图片文件的数据分段368
18.3.2 位图文件头368
18.3.3 位图信息头369
18.3.4 位图数据370
18.4 BMP图片文件的读写操作示例370
18.4.1 示例功能和CubeMX项目设置370
18.4.2 程序功能实现372
18.4.3 BMP文件操作驱动程序377
第19章 JPG图片387
19.1 JPEG和LIBJPEG387
19.2 JPG图片文件的读写操作示例388
19.2.1 示例功能和CubeMX项目设置388
19.2.2 程序功能实现389
19.2.3 JPG文件操作驱动程序395
第20章 电阻式触摸屏405
20.1 电阻式触摸屏的工作原理405
20.2 电阻式触摸屏的软硬件接口406
20.3 示例一:轮询方式检测触摸屏输出407
20.3.1 示例功能407
20.3.2 CubeMX项目设置407
20.3.3 主程序功能实现409
20.3.4 GUI界面的创建与交互操作413
20.3.5 电阻式触摸屏驱动程序420
20.4 示例二:中断方式获取触摸屏输出426
20.4.1 示例功能和CubeMX项目设置426
20.4.2 程序功能实现427
第21章 电容式触摸屏431
21.1 电容式触摸屏的工作原理431
21.2 电容式触摸屏的软硬件接口431
21.2.1 电容式触摸屏接口431
21.2.2 电容式触摸屏控制芯片功能433
21.3 电容触摸屏的使用示例437
21.3.1 示例功能和CubeMX项目设置437
21.3.2 程序功能实现438
21.3.3 电容触摸屏驱动程序443
第22章 DCMI接口和数字摄像头455
22.1 数字摄像头455
22.1.1 数字摄像头概述455
22.1.2 OV7670图像传感器的功能和接口456
22.1.3 OV7670数据输出时序和格式457
22.1.4 SCCB通信458
22.1.5 OV7670的寄存器460
22.2 DCMI接口461
22.2.1 DCMI接口概述461
22.2.2 DCMI接口传输时序462
22.2.3 DCMI数据存储格式463
22.2.4 DCMI图像采集方式464
22.2.5 DCMI的中断465
22.3 DCMI的HAL驱动465
22.3.1 主要驱动函数概述465
22.3.2 DCMI接口初始化466
22.3.3 DCMI的采集控制467
22.4 DCMI和摄像头使用示例467
22.4.1 摄像头模块467
22.4.2 开发板与摄像头模块的连接468
22.4.3 示例功能与CubeMX项目设置470
22.4.4 程序功能实现474
附录A CubeMX模板项目和公共驱动程序的使用487
A.1 公共驱动程序的目录组成487
A.2 CubeMX模板项目488
A.3 新建CubeMX项目后导入模板项目的配置488
A.4 复制模板项目以新建CubeMX项目490
A.5 在CubeIDE中设置驱动程序搜索路径490
附录B 复制一个项目493
附录C 开发板功能模块494
附录D 本书示例列表498
附录E 缩略词501
参考文献503
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网