RISC-V应用实践:基于CH32V307与RT-Thread
图书信息
| 作者 | 刘辉 等 |
| 出版社 | 电子工业出版社 |
| ISBN | 9787121522710 |
| 出版时间 | 2026-02-01 |
| 字数 | 14.8万 |
| 分类 | 科技,工业技术,航空,电子 |
读书简介
本书以南京沁恒微(WCH)的RISC-V内核的CH32V307芯片为核心,按照嵌式技术递关系,以项目方式依次展讲解。本书包括7个实践教学项目:项目1介绍RISC-V、CH32V307基础知识、发环境、工程模板及GPIO输出控制、定时器PWM驱动蜂鸣器等内容;项目2介绍GPIO输检测、USART串行通信、彩色LED阵显示等内容;项目3介绍RT-Thread实时操作系统的基本知识、RT-Thread在CH32V307上的移植以及RT-Thread的基本应用;项目4介绍LVGL的基本知识、TFT屏驱动、LVGL的图形化工具GUI-Guider的使用、LVGL常用组件的应用;项目5介绍定时器定时功能、超声波发送与收、超声波距离检测以及基于LVGL的车辆避障模拟系统设计实现;项目6介绍板载AP3216C、AHT20环境传感器、DRV8833电机驱动、通过LVGL实现本地的智能家居系统;项目7介绍板载蓝牙模块CH9141的应用、JSON通信格式及通过Android App实现智能家居远程监控系统设计。
目录
内容简介
前言
项目1 简易音乐播放器
1.1 嵌入式系统概述
1.2 RISC-V概述
1.2.1 RISC-V的由来
1.2.2 RISC-V的发展
1.2.3 RISC-V在中国的发展
1.2.4 RISC-V对比X86、ARM架构
1.3 CH32V307芯片
1.3.1 青稞系列微处理器
1.3.2 CH32V307
1.4 软件开发环境
1.4.1 MounRiver Studio
1.4.2 WCHISP软件
1.4.3 开发固件库
1.5 软件工程模板
1.5.1 软件工程模板的创建
1.5.2 工程模板用户代码
1.6 项目使用的CH32V307外设模块
1.6.1 CH32V307的GPIO
1.6.2 CH32V307的定时器
1.7 蜂鸣器硬件电路
1.8 简易音乐播放器
1.8.1 项目目标
1.8.2 工程移植
1.8.3 蜂鸣器IO驱动
1.8.4 蜂鸣器PWM驱动
1.8.5 简易音乐播放
1.8.6 简易音乐播放器主函数
1.9 程序下载及调试信息打印
本章小结
考核习题
项目2 4×4彩色LED点阵显示
2.1 4×4彩色LED点阵显示项目工程移植
2.2 GPIO输入功能
2.2.1 CH32V307的GPIO输入
2.2.2 按键KEY1、KEY2输入检测
2.3 USART串行通信
2.3.1 USART串行通信原理
2.3.2 USART中断
2.3.3 CH32V307的USART接口
2.3.4 CH32V307的USART固件库
2.3.5 CH32V307的USART软件驱动
2.4 WS2812C彩色LED
2.4.1 WS2812C主要特点
2.4.2 WS2812C引脚功能
2.4.3 WS2812C控制协议
2.4.4 4×4彩色LED点阵硬件原理
2.4.5 4×4彩色LED点阵的软件驱动
2.5 4×4彩色LED点阵显示项目
本章小结
考核习题
项目3 RT-Thread实时操作系统应用
3.1 无操作系统
3.2 嵌入式操作系统
3.2.1 嵌入式操作系统概述
3.2.2 嵌入式操作系统的发展
3.2.3 嵌入式操作系统的分类
3.2.4 主流嵌入式实时操作系统
3.3 RT-Thread实时操作系统
3.3.1 RT-Thread概述
3.3.2 RT-Thread功能特点
3.3.3 RT-Thread应用场景
3.3.4 RT-Thread技术架构
3.4 RT-Thread技术应用
3.4.1 线程与任务
3.4.2 同步与互斥
3.4.3 线程间通信
3.4.4 内存管理
3.4.5 双向链表
3.4.6 设备管理
3.5 RT-Thread移植到CH32V307
本章小结
考核习题
项目4 基于RT-Thread和LVGL的TFT屏显示
4.1 I2C总线通信
4.1.1 I2C总线介绍
4.1.2 I2C总线典型接线原理
4.1.3 I2C总线通信原理
4.1.4 CH32V307的I2C接口
4.1.5 CH32V307的I2C固件库
4.1.6 CH32V307的I2C通信驱动
4.2 板载4.3寸TFT屏
4.2.1 4.3寸TFT屏简介
4.2.2 TFT屏硬件原理
4.2.3 TFT屏显示驱动
4.2.4 TFT屏触摸驱动
4.3 嵌入式GUI框架:LVGL
4.3.1 嵌入式GUI框架
4.3.2 LVGL概述
4.3.3 LVGL特性
4.3.4 LVGL应用场景
4.3.5 LVGL最低配置
4.4 基于RT-Thread的LVGL框架
4.4.1 LVGL源码
4.4.2 LVGL源码移植
4.5 GUI Guider
4.5.1 GUI Guider概述
4.5.2 GUI Guider安装
4.5.3 GUI Guider快速使用
4.5.4 应用到TFT屏的LVGL工程中
4.6 基于LVGL的GUI Guider控件设计
4.6.1 Label(标签)
4.6.2 Text(文本框)
4.6.3 Button(按钮)
4.6.4 页面添加
4.6.5 下拉列表
4.6.6 滑动条
4.6.7 Image(图像)
4.6.8 LVGL基础控件移植到CH32V307平台中
4.6.9 CH32V307平台GUI字体配置
本章小结
考核习题
项目5 车辆避障检测
5.1 常用的嵌入式测距方案
5.2 超声波测距
5.2.1 超声波
5.2.2 超声波测距原理
5.3 超声波传感器CS100A
5.3.1 CS100A超声波传感器芯片介绍
5.3.2 CS100A硬件电路
5.3.3 CS100A工作原理
5.4 CS100A超声波测距驱动
5.4.1 工程移植
5.4.2 定时器模块修改
5.4.3 CS100A初始化
5.4.4 CS100A超声波测距中断
5.4.5 CS100A超声波测距
5.5 车辆避障模拟系统
5.5.1 GUI设计
5.5.2 创建超声波测距任务
5.5.3 修改GUI圆弧初始属性
5.5.4 创建LVGL互斥量
5.5.5 启停按钮“Clicked”事件
5.5.6 超声波测距任务
5.5.7 车辆避障模拟系统GUI显示
本章小结
考核习题
项目6 智能家居本地系统设计
6.1 AP3216C环境传感器
6.1.1 AP3216C环境传感器介绍
6.1.2 AP3216C硬件原理
6.1.3 AP3216C读写时序
6.2 AP3216C数据读取驱动
6.2.1 工程移植
6.2.2 AP3216C的寄存器
6.2.3 AP3216C初始化
6.2.4 读取AP3216C数据
6.3 AHT20温湿度传感器
6.3.1 AHT20温湿度传感器介绍
6.3.2 AHT20硬件原理
6.4 温湿度数据读取驱动
6.4.1 AHT20驱动文件添加
6.4.2 AHT20复位
6.4.3 AHT20校准
6.4.4 AHT20读状态
6.4.5 AHT20初始化
6.4.6 读AHT20温湿度数据
6.5 电机简介
6.5.1 电机分类
6.5.2 电机工作原理
6.5.3 电机应用领域
6.6 DRV8833
6.6.1 DRV8833电机驱动芯片介绍
6.6.2 DRV8833电机驱动芯片硬件原理
6.7 电机控制驱动
6.7.1 DRV8833驱动控制逻辑
6.7.2 电机驱动文件添加
6.7.3 电机模块初始化
6.7.4 电机控制
6.8 智能家居本地系统设计
6.8.1 GUI设计
6.8.2 创建智能家居本地任务
6.8.3 创建相关全局变量
6.8.4 修改“event”事件
6.8.5 智能家居本地任务
6.8.6 智能家居本地系统GUI显示
本章小结
考核习题
项目7 智能家居的远程监控系统设计
7.1 蓝牙通信技术
7.1.1 工作原理
7.1.2 技术特点
7.1.3 技术版本
7.1.4 主要应用场景
7.2 CH9141蓝牙模块
7.2.1 CH9141蓝牙模块介绍
7.2.2 CH9141通信模组硬件原理
7.3 CH9141通信驱动
7.3.1 工程移植
7.3.2 CH9141初始化
7.3.3 CH9141接收中断
7.3.4 CH9141数据发送
7.3.5 CH9141数据接收
7.4 JSON格式数据通信
7.4.1 JSON格式简介
7.4.2 cJSON库简介
7.4.3 cJSON库的使用
7.4.4 智能家居JSON通信协议与实现
7.5 Android App开发基础
7.5.1 Android系统
7.5.2 Java程序设计语言
7.5.3 Android Studio开发环境
7.5.4 Android App开发
7.6 智能家居远程监控系统设计
7.6.1 CH32V307智能家居远程任务
7.6.2 Android App设计
本章小结
考核习题
- 求知文库:世界经典寓言(张潜)
- 电子电路识图(韩雪涛)
- 憨奇典库--外国科技发明的故事(上)(暂无)
- 素描入门基础教程 石膏头像(王恒,洪涛)
- 学前儿童感觉统合训练(南姣鹏主编)
- 古代世界数学泰斗刘徽(郭书春)
- 森林鱼国际绘本大师经典:朋友越多越好(精装绘本)((美)凯・葛斯坦(MordicaiGe)
- 刑法评论-2016年 第1卷[总第29卷](赵秉志)
