新書推薦:
《
股票大作手操盘术
》
售價:NT$
245.0
《
何以中国·何谓唐代:东欧亚帝国的兴亡与转型
》
售價:NT$
398.0
《
一间只属于自己的房间 女性主义先锋伍尔夫代表作 女性精神独立与经济独立的象征,做自己,比任何事都更重要
》
售價:NT$
203.0
《
泉舆日志 幻想世界宝石生物图鉴
》
售價:NT$
611.0
《
养育女孩 : 官方升级版
》
售價:NT$
230.0
《
跨界:蒂利希思想研究
》
售價:NT$
500.0
《
千万别喝南瓜汤(遵守规则绘本)
》
售價:NT$
203.0
《
大模型启示录
》
售價:NT$
510.0
|
編輯推薦: |
降低RT Thread学习门槛,通过项目分解来覆盖所有技术知识
|
內容簡介: |
本书专注于实时操作系统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是我国自主研发的一个嵌入式实时多线程操作系统,经历了十几年的发展,凭借其良好的口碑以及开源免费,已经在国内拥有了一个人数众多的、庞大的嵌入式开源社区,积聚了数十万的软件爱好者。
随着国家对自主研发的重视,近年来国内芯片产业和物联网产业快速崛起,行业发展对人才需求越来越迫切,特别是掌握操作系统底层和应用技术的人才。高等职业技术院校作为培养产业应用型人才的基地,紧扣产业发展趋势,对培养掌握国产操作系统应用的人才越来越重视,许多院校都已经或计划开设RT Thread操作系统相关课程,但目前在与RT Thread相关书籍中,符合职业教育特点的还比较缺乏,亟需一本适合高等职业技术院校学生的教材。我们希望通过本书,帮助学生快速了解和学习RT Thread操作系统的相关应用开发。
总之,本书的初衷是降低RT Thread学习的门槛,为高校师生服务,使更多的人认识并能轻松学习国产操作系统,尽快加入到国产操作系统的应用开发中,加速和推动我国自主研发的进程。
本书的编写风格
本书采用项目化教程的形式,结合智能小车项目,通过项目分解来覆盖所有的技术知识。其中,智能小车项目的硬件平台使用STM32F407芯片;采用两条线索贯穿全书:一条为RTThread内核及设备接口知识,另一条为智能小车功能开发。本书从易到难,使读者在实践中掌握所有技术知识元素。
本书每一章开始都配置了本章概述、知识目标和技能目标的介绍,可以使读者快速了解本章的学习内容和学习目标。另外,在每一章的最后都配置了适量练习,可以使读者及时检验对本章内容的掌握情况。
书中的每一章都以应用为目的,先从原理开始,然后结合小车项目的具体应用,使读者可以快速掌握知识点的应用。
在程序编写风格上,本书从工程实践出发,充分应用了工程实践中的一些先进思想和方法,如模块化、面向对象、可读性、可移植性等;同时充分应用了C语言的知识,如枚举、指针、结构体、函数指针等。书中所有代码都经过多次打磨改进和测试,力求每一段代码都可以直接在工程中使用。
如何使用本书
阅读本书要求有一定的C语言编程基础和简单的电路知识。本书可作为高等职业技术院校相关课程的教材。全书分为三大部分:第一部分(第1~2章)为开发工具及系统介绍;第二部分为RT Thread内核基础应用(第3~7章),从应用实践的角度,结合智能小车具体功能实现,介绍RT Thread的线程、线程调度、线程同步、时钟管理、线程间通信等操作系统内容,力求通过项目实践的形式使读者深刻理解RT Thread内核;第三部分(第8~14章)为RT Thread各种常用I/O 设备的应用开发实例,通过这些实例,读者可以熟练掌握RT Thread设备驱动接口。全书建议用64课时讲完,其中,第一部分建议用4课时;第二部分建议用34课时;第三部分建议用26课时。
致 谢
本书能够顺利出版是多人智慧的结果,在此特别感谢上海睿赛德电子科技有限公司工程师们对本书代码编写上提出的宝贵意见和建议。感谢广东机电职业技术学院电子与通信学院学生郑子蒽、王捷杼、梁思维等参与本书实验的调试工作。
感谢北京航空航天大学出版社编辑冯颖帮助和引导我们顺利完成全部书稿。
赵剑川
2022年5月
|
|