RT-Thread应用开发实战——基于STM32智能小车

RT-Thread应用开发实战——基于STM32智能小车
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: 主编 , 副主编
2022-07
版次: 1
ISBN: 9787512438118
定价: 49.00
装帧: 其他
开本: 16开
纸张: 胶版纸
36人买过
  • 本书专注于实时操作系统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
  • 内容简介:
    本书专注于实时操作系统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
查看详情
12
相关图书 / 更多