Allbet客户端下载:Thread Nano添加节制台

黄山新闻网/2020-07-03/ 分类:黄山科技/阅读:

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

一、基本常识

1.FinS H简介

RT-Thread FinSH 是 RT-Thread 的呼吁行组件(shell),提供一套供用户在呼吁行挪用的操纵接口,主要用于调试或查看系统信息。它可以利用串口 / 以太网 / USB 等与 PC 机举办通信,

联博接口

www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,利用 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 ('\n' == *str)         {             usart_data_transmit(EVAL_COM0, '\r' );             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\r\n");         / insert 500 ms delay */         rt_thread_mdelay(500);     } }

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

三、运行功效

运行功效如下所示



广告 330*360
广告 330*360

热门文章

HOT NEWS
  • 周榜
  • 月榜
黄山新闻网
微信二维码扫一扫
关注微信公众号
新闻自媒体 Copyright © 2002-2019 黄山新闻网 版权所有
二维码
意见反馈 二维码