前言:

上一节,我们完成了GD32VF103在RT_Thread Nano上的移植,本节我们为其增加控制台输出功能,以及通过FinSH组件和用户交互功能。

一、基础知识

1.FinS H简介

RT-Thread FinSH 是 RT-Thread 的命令行组件(shell),提供一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息。它可以使用串口 / 以太网 / USB 等与 PC 机进行通信,使用 FinSH 组件基本命令的效果图如下所示:

二、添加步骤

1.导入工程

将上一节内容进行复制,修改.project中工程名字为lesson3

重新import进来新的工程

2.控制台输出

适配号控制台输出,就可以使用RT_Thread中rt_kprintf()函数进行串口信息的打印,方便调试Bug、获取系统当前运行状态。

(1) 串口初始化

在gd32vf102c_start.c中定义调试串口初始化函数void uart_debug_init(void),同时在gd32vf103c_start.h中声明。

然后再board.c中rt_hw_board_init()函数中调用uart_debug_init()。

(2) 实现 rt_hw_console_output

在gd32vf102c_start.c文件中,实现rt_hw_console_output如下:

void rt_hw_console_output(const char str){    rt_enter_critical();    while(str != '0')    {        if ('' == *str)        {            usart_data_transmit(EVAL_COM0, '' );            while ( usart_flag_get(EVAL_COM0, USART_FLAG_TBE)== RESET);        }        usart_data_transmit(EVAL_COM0, (uint8_t) *str++ );        while ( usart_flag_get(EVAL_COM0, USART_FLAG_TBE)== RESET);    }    rt_exit_critical();}

(3) 修改main.c中led_process_thread_entry函数

void led_process_thread_entry(void parameter){    rt_err_t ret = RT_EOK;    while(1)    {        / insert 500 ms delay /        rt_thread_mdelay(500);        / toggle the LED /        gpio_bit_write(GPIOA, GPIO_PIN_1, (bit_status)(1-gpio_input_bit_get(GPIOA, GPIO_PIN_1)));        rt_kprintf("toggle the LED");        / insert 500 ms delay */        rt_thread_mdelay(500);    }}

增加​rt_kprintf("toggle the LED");​函数,每隔1S打印一次数据。

三、运行结果

运行结果如下所示

清空shell控制台内容_RISC-V单片机快速入门03-基于RT_Thread Nano添加控制台相关推荐

  1. 【51单片机快速入门指南】4.2: SSD1306 OLED屏(0.96寸、1.3寸)的I2C控制详解

    目录 硬知识 SSD1306简介 I2C 接口 从机地址位(SA0) I2C 总线写数据 命令解码器 晶振电路和显示时间发生器 复位 图形显示数据RAM (GDDRAM) 命令表 基本命令表 部分指令 ...

  2. 【51单片机快速入门指南】4.6:I2C 与 PCF8563实时时钟日历芯片

    目录 硬知识 概述 特性 功能描述 报警功能模式 定时器模式 CLKOUT输出 复位低电压检测器和时钟监视器 低电压检测器和时钟监视器 寄存器结构 寄存器概述 BCD编码格式寄存器概述 Control ...

  3. 【51单片机快速入门指南】6.3:DS18B20 单总线数字温度计的多路读取

    目录 硬知识 DS18B20介绍 时序 初始化时序 写时序 读时序 命令 ROM 操作命令 ROM 搜索举例 存贮器操作命令 示例程序 DS18B20.c DS18B20.h 测试程序 定时器中断服务 ...

  4. 【51单片机快速入门指南】6.1:LCD1602的八线、四线控制及自定义符号,完美兼容Proteus仿真

    目录 硬知识 显示特性 接口定义 操作时序 写操作时序 读操作时序 寄存器 忙标志位BF 地址计数器(AC) 显示数据寄存器(DDRAM) CGROM CGRAM 指令 清屏指令 光标归位指令 进入模 ...

  5. 【51单片机快速入门指南】5.1:SPI与DS1302时钟芯片

    目录 硬知识 DS1302 简介 DS1302 使用 控制寄存器 日历/时钟寄存器 DS1302 的读写时序 电路设计 示例程序 DS1302.c DS1302.h 测试程序 main.c 实验现象 ...

  6. 【51单片机快速入门指南】4.4.2:Mahony AHRS 九轴姿态融合获取四元数、欧拉角

    目录 传感器的方向 源码 Mahony_9.c Mahony_9.h 使用方法 测试 main.c 效果 STC15F2K60S2 22.1184MHz Keil uVision V5.29.0.0 ...

  7. 【51单片机快速入门指南】4.4.1:python串口接收磁力计数据并进行最小二乘法椭球拟合

    目录 硬知识 Python代码 使用方法 串口收集数据 椭球拟合 验证 STC15F2K60S2 16.384MHz Keil uVision V5.29.0.0 PK51 Prof.Develope ...

  8. 【51单片机快速入门指南】3.3:USART 串口通信

    目录 快速使用 硬知识 串行口相关寄存器 串行口控制寄存器SCON和PCON 串行口数据缓冲寄存器SBUF 从机地址控制寄存器SADEN和SADDR 与串行口中断相关的寄存器IE和IPH.IP 串行口 ...

  9. 【51单片机快速入门指南】3.2:定时器/计数器

    目录 快速使用 硬知识 传统51单片机 CPU 时序的有关知识(12T) 51 单片机定时器原理 51 单片机定时/计数器结构 定时器/计数器0/1 定时器/计数器0和1的相关寄存器 控制寄存器 工作 ...

最新文章

  1. Settings.System暂存/读取数据
  2. cin.ignore的用法
  3. C++中static关键字作用
  4. 在Ubuntu11.10下构建hadoop实验环境笔记
  5. matplotlib 散点图_matplotlib画图 绘制散点图案例
  6. 升级nodejs至最新
  7. curlopt_ssl_verifypeer后https还是验证不过_为什么 HTTPS 需要 7 次握手和 9 倍时延
  8. python撩人的代码,老师教已毕业的学生,用Python代码每天不定时撩女友,附源码文件...
  9. ANDROID cmake版本下载,android studio中为gradle指定cmake版本
  10. 基于redis的简易单点登录系统
  11. 西门子g120变频器接线图_西门子变频器G120如何通过速度限幅来避免飞车的发生...
  12. MySQL中rank函数的使用
  13. 网线线序和插座插头配线规则和光纤接口分类
  14. TypeError this.getOptions is not a function 的解决
  15. excel表格打印每页都有表头_13个关于Excel表格的打印技巧
  16. 网页显示不正常怎么修复
  17. 发力“智能马桶”的小米们,选对了目标群体吗?
  18. InnoDB: space header page consists of zero bytes in tablespace ./mysql/iyikcr32.ibd (table mysql/iyi
  19. java如何解压rar文件怎么打开,Java压缩与解压rar文件
  20. DVB-S2 DVB-S2X DVB-DSNG 发射机 接收机FPGA IP

热门文章

  1. any、never......TypeScript 中这些特殊的类型,你会用了吗?
  2. 如何进行时间序列的特征工程?
  3. 由浅入深,解决三道【只出现一次的数】!
  4. Java变量声明在循环体内还是循环体外,你用哪一个?
  5. 光刻机的“崛起秘密”,第一本ASML的企业成长传记来了!
  6. 为何字节跳动、腾讯、阿里都要用Python?CSDN都要对它下手了!
  7. 两万字 40 张图带你参透并发编程
  8. 搞 Python 的程序员,不懂这一点,耽误自己成长!现在看还来得及
  9. 十万开发者票选,顶级当红讲师来了!
  10. 雷军:4G 手机已清仓,全力转 5G;QQ音乐播放中途插语音广告引热议;Wine 5.9 发布 | 极客头条...