269,873
次編輯
變更
创建页面,内容为“《'''RT·Thread应用开发实战'''》,副标题:基于STM32智能小车,赵剑川 主编 黎旺星 欧启标 熊谱翔 副主编 著,出版社: 北京…”
《'''RT·Thread应用开发实战'''》,副标题:基于STM32智能小车,赵剑川 主编 黎旺星 欧启标 熊谱翔 副主编 著,出版社: 北京航空航天大学出版社。
书籍是用文字、[[图画]]和其他符号,在一定材料上记录各种知识,清楚地表达思想,并且制装成卷册的著作物<ref>[https://www.doc88.com/p-6631147737261.html 作品、著作物与版权],道客巴巴,2014-11-09</ref>,为传播各种知识和思想,积累人类文化的重要工具。它随着历史的发展,在书写方式、所使用的材料和装帧形式<ref>[https://www.docin.com/p-1706199510.html 书籍装帧设计的分类及艺术表现形式],豆丁网,2016-08-14</ref>,以及形态方面,也在不断变化与变更。
==内容简介==
本书专注于实时操作系统RT Thread的应用开发实践,使用目前广泛应用的STM32芯片并结合智能小车功能开发,力求帮助读者在较短时间掌握RT Thread应用开发技术。
全书分为三大部分:部分(第1~2章)为开发[[工具]]及系统介绍;第二部分为RT Thread内核基础应用(第3~7章),从应用实践的角度,结合智能小车具体功能实现,介绍RT Thread的线程、线程调度、线程同步、时钟管理、线程间通信等操作系统内容,力求通过项目实践的形式使读者深刻理解RT Thread内核;第三部分(第8~14章)为RT Thread各种常用I/O 设备的应用开发实例,通过这些实例,读者可以熟练掌握RT Thread设备驱动接口。
本书可作为高等职业院校电信类或计算机类相关专业教材,亦可作为相关工程技术人员的参考用书。
==目录==
第1章搭建开发环境
1.1RTThreadStudio集成开发环境安装1
1.1.1获取RTThreadStudio安装包1
1.1.2开始安装RTThreadStudio软件包2
1.1.3[[下载]]SDK5
1.2STM32CubeMX图形化配置工具安装7
1.2.1获取安装包7
1.2.2安装软件9
1.2.3安装固件库11
练习111
第2章初识RTThread实时操作系统
2.1RTThread介绍12
2.2如何新建RTThread项目13
2.3认识RTThread项目结构14
2.4配置RTThread项目15
2.5构建项目18
2.6下载程序19
2.7使用串口终端工具与RTThread系统进行交互21
练习222
第3章PIN设备的使用
3.1RTThreadPIN设备介绍23
3.1.1引脚编号的获取24
3.1.2设置引脚的输入/输出模式24
3.1.3设置引脚的电平值25
3.1.4读取引脚的电平值25
3.1.5绑定引脚中断回调函数26
3.1.6脱离引脚中断回调函数26
3.1.7使能中断27
3.2任务31车灯双闪控制27
3.2.1硬件设计27
3.2.2业务分析28
3.2.3程序设计28
3.2.4功能测试28
3.3任务32小车喇叭控制(查询法)29
3.3.1硬件设计29
3.3.2程序设计29
3.3.3下载测试31
3.4任务33小车喇叭控制(中断回调法)31
3.4.1硬件设计31
3.4.2程序设计31
3.4.3下载测试32
3.5任务34同时实现车灯闪烁和按键控制喇叭33
3.5.1硬件设计33
3.5.2软件设计33
3.5.3程序测试35
习题335
第4章线程及其应用
4.1线程介绍37
4.1.1线程的概念37
4.1.2线程的调度38
4.1.3上下文切换38
4.1.4线程的重要属性39
4.1.5RTThread命令查看系统线程信息42
4.2RTThread线程管理接口介绍43
4.3任务41使用多线程的方式同时实现车灯闪烁和按键控制喇叭(扫描法)45
4.3.1RTThread相关接口函数45
4.3.2代码实现48
4.3.3程序测试54
4.4任务42暂停或恢复车灯闪烁功能55
4.4.1RTThread相关接口函数55
4.4.2程序设计56
4.4.3程序测试60
4.5任务43多线程运行机制实验61
4.5.1RTThread相关接口函数61
4.5.2程序设计62
4.5.3程序测试64
4.6任务44线程主动让出CPU资源66
4.6.1RTThread相关接口函数67
4.6.2程序设计67
4.6.3程序测试70
4.7任务45空闲线程中运行LED灯的闪烁71
4.7.1RTThread中设置和删除空闲钩子函数71
4.7.2程序设计72
4.7.3程序测试73
练习473
第5章线程同步及其应用
5.1线程同步的概念75
5.2信号量76
5.2.1RTThread信号量的工作机制77
5.2.2创建信号量78
5.2.3获取信号量79
5.2.4信号量释放79
5.3任务51使用按键控制喇叭(中断法)80
5.3.1程序设计80
5.3.2程序测试84
5.4信号量的应用场合84
5.5任务52矩阵键盘按键识别(中断法)85
5.5.1硬件设计85
5.5.2程序设计86
5.5.3程序测试91
练习591
第6章时钟管理与应用
6.1RTThread嘀嗒时钟相关函数介绍93
6.1.1毫秒级延时94
6.1.2微秒级延时94
6.1.3获取系统当前时间94
6.1.4获取更高精度的时间95
6.2任务61超声波测距(电平扫描方法)96
6.2.1超声波测距原理介绍96
6.2.2硬件设计96
6.2.3软件设计97
6.2.4程序测试102
6.3RTThread系统定时器102
6.3.1创建和删除定时器103
6.3.2初始化和脱离定时器104
6.3.3启动和停止定时器105
6.3.4控制定时器106
6.4任务62使用定时器实现车灯的闪烁106
6.4.1软件设计106
6.4.2程序测试108
6.5任务63超声波测距(使用定时器改进任务61)108
6.5.1程序设计108
6.5.2程序测试_______109
6.6任务64超声波测距(引脚中断方式)110
6.6.1程序设计110
6.6.2程序测试114
练习6115
第7章线程间通信
7.1邮箱116
7.1.1邮箱的工作机制117
7.1.2RTThread邮箱的相关接口函数117
7.2任务71独立按键控制蜂鸣器开关(使用邮箱)121
7.2.1硬件设计121
7.2.2软件设计121
7.2.3程序测试126
7.3任务72使用邮箱发送大于4字节的消息126
7.3.1程序编写126
7.3.2程序测试126
7.4消息队列127
7.4.1消息队列的工作机制127
7.4.2消息队列相关接口函数128
7.5任务73独立按键控制蜂鸣器开关(使用消息队列)132
7.5.1硬件设计132
7.5.2程序设计132
7.5.3测试135
7.6信号136
练习7138
第8章RTThread板级驱动(BSP)的配置
8.1I/O设备模型139
8.2RTThread中设备驱动相关配置141
8.2.1使用CubeMX使能硬件设备,生成设备初始化代码141
8.2.2RTThreadSettings开启设备驱动程序146
8.2.3在drivers/board.h中定义接口相关的宏147
练习8148
第9章使用PWM设备控制小车行驶速度
9.1RTThread的PWM设备编程介绍149
9.1.1查找PWM设备150
9.1.2设置PWM周期和脉冲宽度150
9.1.3使能和关闭PWM设备通道151
9.2任务91使用PWM驱动小车车轮转动151
9.2.1硬件设计151
9.2.2工程建立和BSP配置152
9.2.3程序设计153
9.2.4编译测试153
9.3任务92小车前进和后退154
9.3.1程序设计与代码编写155
9.3.2测试158
练习9158
第10章使用ADC设备测量电池电量
10.1A/D转换介绍159
10.1.1A/D转换的原理159
10.1.2A/D转换的计算160
10.2RTThreadADC设备接口介绍161
10.2.1查找ADC设备161
10.2.2使能ADC通道161
10.2.3读取ADC通道采样值162
10.2.4关闭ADC通道162
10.3任务101使用终端命令读取ADC设备采样值162
10.3.1硬件设计162
10.3.2RTThread工程建立和BSP配置163
10.3.3编译及测试163
10.4任务102编写程序,实现电压测量并打印电压值164
10.4.1程序设计164
10.4.2编译、下载、测试165
练习10166
第11章使用I2C设备驱动OLED显示屏
11.1I2C总线介绍167
11.1.1I2C总线构成167
11.1.2I2C总线的信号类型和数据传输时序168
11.2RTThreadI2C总线接口171
11.2.1查找I2C总线设备171
11.2.2数据传输172
11.3OLED操作介绍173
11.3.1从机地址173
11.3.2数据格式174
11.3.3GDDRAM结构175
11.3.4三种GDDRAM寻址模式175
11.3.5OLED指令177
11.4任务111OLED显示实现中英文178
11.4.1硬件设计178
11.4.2工程建立与配置178
11.4.3程序编写179
11.4.4测试188
练习11188
第12章使用脉冲码盘设备测量小车行驶速度
12.1编码器及其测速原理189
12.1.1编码器的分类189
12.1.2编码器的参数191
12.1.3编码器测速原理191
12.2任务121车轮转动方向测量193
12.2.1硬件设计193
12.2.2程序设计193
12.2.3测试196
12.3任务122采用M法测量小车车轮转动速度196
12.3.1硬件设计196
12.3.2软件设计196
12.3.3测试197
12.4任务123同时测量方向和速度198
12.4.1程序设计198
12.4.2测试201
12.5任务124使用PulseEncoder设备进行测速201
12.5.1硬件设计201
12.5.2新建项目及BSP配置201
12.5.3代码编写203
12.5.4测试204
练习12205
第13章使用Sensor设备进行温度测量
13.1单线程协议简介206
13.2DS18B20数字温度传感器208
13.3任务131使用DS18B20进行温度采样210
13.3.1硬件设计210
13.3.2软件设计210
13.3.3测试214
13.4任务132把DS18B20设备注册为RTThread的Sensor设备215
13.4.1硬件设计215
13.4.2项目创建与配置215
13.4.3程序设计215
13.4.4测试219
13.5任务133使用Sensor设备驱动层接口读取温度值220
13.5.1程序设计220
13.5.2测试222
练习13222
第14章遥控器控制小车行走
14.1红外接收原理223
14.1.1红外通信系统223
14.1.2认识红外接收头224
14.1.3红外遥控编码协议224
14.2任务141识别红外遥控器按键信号225
14.2.1硬件设计225
14.2.2创建项目及配置226
14.2.3程序设计229
14.2.4测试230
练习14231
参考文献232
==参考文献==
[[Category:040 類書總論;百科全書總論]]
书籍是用文字、[[图画]]和其他符号,在一定材料上记录各种知识,清楚地表达思想,并且制装成卷册的著作物<ref>[https://www.doc88.com/p-6631147737261.html 作品、著作物与版权],道客巴巴,2014-11-09</ref>,为传播各种知识和思想,积累人类文化的重要工具。它随着历史的发展,在书写方式、所使用的材料和装帧形式<ref>[https://www.docin.com/p-1706199510.html 书籍装帧设计的分类及艺术表现形式],豆丁网,2016-08-14</ref>,以及形态方面,也在不断变化与变更。
==内容简介==
本书专注于实时操作系统RT Thread的应用开发实践,使用目前广泛应用的STM32芯片并结合智能小车功能开发,力求帮助读者在较短时间掌握RT Thread应用开发技术。
全书分为三大部分:部分(第1~2章)为开发[[工具]]及系统介绍;第二部分为RT Thread内核基础应用(第3~7章),从应用实践的角度,结合智能小车具体功能实现,介绍RT Thread的线程、线程调度、线程同步、时钟管理、线程间通信等操作系统内容,力求通过项目实践的形式使读者深刻理解RT Thread内核;第三部分(第8~14章)为RT Thread各种常用I/O 设备的应用开发实例,通过这些实例,读者可以熟练掌握RT Thread设备驱动接口。
本书可作为高等职业院校电信类或计算机类相关专业教材,亦可作为相关工程技术人员的参考用书。
==目录==
第1章搭建开发环境
1.1RTThreadStudio集成开发环境安装1
1.1.1获取RTThreadStudio安装包1
1.1.2开始安装RTThreadStudio软件包2
1.1.3[[下载]]SDK5
1.2STM32CubeMX图形化配置工具安装7
1.2.1获取安装包7
1.2.2安装软件9
1.2.3安装固件库11
练习111
第2章初识RTThread实时操作系统
2.1RTThread介绍12
2.2如何新建RTThread项目13
2.3认识RTThread项目结构14
2.4配置RTThread项目15
2.5构建项目18
2.6下载程序19
2.7使用串口终端工具与RTThread系统进行交互21
练习222
第3章PIN设备的使用
3.1RTThreadPIN设备介绍23
3.1.1引脚编号的获取24
3.1.2设置引脚的输入/输出模式24
3.1.3设置引脚的电平值25
3.1.4读取引脚的电平值25
3.1.5绑定引脚中断回调函数26
3.1.6脱离引脚中断回调函数26
3.1.7使能中断27
3.2任务31车灯双闪控制27
3.2.1硬件设计27
3.2.2业务分析28
3.2.3程序设计28
3.2.4功能测试28
3.3任务32小车喇叭控制(查询法)29
3.3.1硬件设计29
3.3.2程序设计29
3.3.3下载测试31
3.4任务33小车喇叭控制(中断回调法)31
3.4.1硬件设计31
3.4.2程序设计31
3.4.3下载测试32
3.5任务34同时实现车灯闪烁和按键控制喇叭33
3.5.1硬件设计33
3.5.2软件设计33
3.5.3程序测试35
习题335
第4章线程及其应用
4.1线程介绍37
4.1.1线程的概念37
4.1.2线程的调度38
4.1.3上下文切换38
4.1.4线程的重要属性39
4.1.5RTThread命令查看系统线程信息42
4.2RTThread线程管理接口介绍43
4.3任务41使用多线程的方式同时实现车灯闪烁和按键控制喇叭(扫描法)45
4.3.1RTThread相关接口函数45
4.3.2代码实现48
4.3.3程序测试54
4.4任务42暂停或恢复车灯闪烁功能55
4.4.1RTThread相关接口函数55
4.4.2程序设计56
4.4.3程序测试60
4.5任务43多线程运行机制实验61
4.5.1RTThread相关接口函数61
4.5.2程序设计62
4.5.3程序测试64
4.6任务44线程主动让出CPU资源66
4.6.1RTThread相关接口函数67
4.6.2程序设计67
4.6.3程序测试70
4.7任务45空闲线程中运行LED灯的闪烁71
4.7.1RTThread中设置和删除空闲钩子函数71
4.7.2程序设计72
4.7.3程序测试73
练习473
第5章线程同步及其应用
5.1线程同步的概念75
5.2信号量76
5.2.1RTThread信号量的工作机制77
5.2.2创建信号量78
5.2.3获取信号量79
5.2.4信号量释放79
5.3任务51使用按键控制喇叭(中断法)80
5.3.1程序设计80
5.3.2程序测试84
5.4信号量的应用场合84
5.5任务52矩阵键盘按键识别(中断法)85
5.5.1硬件设计85
5.5.2程序设计86
5.5.3程序测试91
练习591
第6章时钟管理与应用
6.1RTThread嘀嗒时钟相关函数介绍93
6.1.1毫秒级延时94
6.1.2微秒级延时94
6.1.3获取系统当前时间94
6.1.4获取更高精度的时间95
6.2任务61超声波测距(电平扫描方法)96
6.2.1超声波测距原理介绍96
6.2.2硬件设计96
6.2.3软件设计97
6.2.4程序测试102
6.3RTThread系统定时器102
6.3.1创建和删除定时器103
6.3.2初始化和脱离定时器104
6.3.3启动和停止定时器105
6.3.4控制定时器106
6.4任务62使用定时器实现车灯的闪烁106
6.4.1软件设计106
6.4.2程序测试108
6.5任务63超声波测距(使用定时器改进任务61)108
6.5.1程序设计108
6.5.2程序测试_______109
6.6任务64超声波测距(引脚中断方式)110
6.6.1程序设计110
6.6.2程序测试114
练习6115
第7章线程间通信
7.1邮箱116
7.1.1邮箱的工作机制117
7.1.2RTThread邮箱的相关接口函数117
7.2任务71独立按键控制蜂鸣器开关(使用邮箱)121
7.2.1硬件设计121
7.2.2软件设计121
7.2.3程序测试126
7.3任务72使用邮箱发送大于4字节的消息126
7.3.1程序编写126
7.3.2程序测试126
7.4消息队列127
7.4.1消息队列的工作机制127
7.4.2消息队列相关接口函数128
7.5任务73独立按键控制蜂鸣器开关(使用消息队列)132
7.5.1硬件设计132
7.5.2程序设计132
7.5.3测试135
7.6信号136
练习7138
第8章RTThread板级驱动(BSP)的配置
8.1I/O设备模型139
8.2RTThread中设备驱动相关配置141
8.2.1使用CubeMX使能硬件设备,生成设备初始化代码141
8.2.2RTThreadSettings开启设备驱动程序146
8.2.3在drivers/board.h中定义接口相关的宏147
练习8148
第9章使用PWM设备控制小车行驶速度
9.1RTThread的PWM设备编程介绍149
9.1.1查找PWM设备150
9.1.2设置PWM周期和脉冲宽度150
9.1.3使能和关闭PWM设备通道151
9.2任务91使用PWM驱动小车车轮转动151
9.2.1硬件设计151
9.2.2工程建立和BSP配置152
9.2.3程序设计153
9.2.4编译测试153
9.3任务92小车前进和后退154
9.3.1程序设计与代码编写155
9.3.2测试158
练习9158
第10章使用ADC设备测量电池电量
10.1A/D转换介绍159
10.1.1A/D转换的原理159
10.1.2A/D转换的计算160
10.2RTThreadADC设备接口介绍161
10.2.1查找ADC设备161
10.2.2使能ADC通道161
10.2.3读取ADC通道采样值162
10.2.4关闭ADC通道162
10.3任务101使用终端命令读取ADC设备采样值162
10.3.1硬件设计162
10.3.2RTThread工程建立和BSP配置163
10.3.3编译及测试163
10.4任务102编写程序,实现电压测量并打印电压值164
10.4.1程序设计164
10.4.2编译、下载、测试165
练习10166
第11章使用I2C设备驱动OLED显示屏
11.1I2C总线介绍167
11.1.1I2C总线构成167
11.1.2I2C总线的信号类型和数据传输时序168
11.2RTThreadI2C总线接口171
11.2.1查找I2C总线设备171
11.2.2数据传输172
11.3OLED操作介绍173
11.3.1从机地址173
11.3.2数据格式174
11.3.3GDDRAM结构175
11.3.4三种GDDRAM寻址模式175
11.3.5OLED指令177
11.4任务111OLED显示实现中英文178
11.4.1硬件设计178
11.4.2工程建立与配置178
11.4.3程序编写179
11.4.4测试188
练习11188
第12章使用脉冲码盘设备测量小车行驶速度
12.1编码器及其测速原理189
12.1.1编码器的分类189
12.1.2编码器的参数191
12.1.3编码器测速原理191
12.2任务121车轮转动方向测量193
12.2.1硬件设计193
12.2.2程序设计193
12.2.3测试196
12.3任务122采用M法测量小车车轮转动速度196
12.3.1硬件设计196
12.3.2软件设计196
12.3.3测试197
12.4任务123同时测量方向和速度198
12.4.1程序设计198
12.4.2测试201
12.5任务124使用PulseEncoder设备进行测速201
12.5.1硬件设计201
12.5.2新建项目及BSP配置201
12.5.3代码编写203
12.5.4测试204
练习12205
第13章使用Sensor设备进行温度测量
13.1单线程协议简介206
13.2DS18B20数字温度传感器208
13.3任务131使用DS18B20进行温度采样210
13.3.1硬件设计210
13.3.2软件设计210
13.3.3测试214
13.4任务132把DS18B20设备注册为RTThread的Sensor设备215
13.4.1硬件设计215
13.4.2项目创建与配置215
13.4.3程序设计215
13.4.4测试219
13.5任务133使用Sensor设备驱动层接口读取温度值220
13.5.1程序设计220
13.5.2测试222
练习13222
第14章遥控器控制小车行走
14.1红外接收原理223
14.1.1红外通信系统223
14.1.2认识红外接收头224
14.1.3红外遥控编码协议224
14.2任务141识别红外遥控器按键信号225
14.2.1硬件设计225
14.2.2创建项目及配置226
14.2.3程序设计229
14.2.4测试230
练习14231
参考文献232
==参考文献==
[[Category:040 類書總論;百科全書總論]]