
【前言】 在进行调试和维护时,常常需要与单片机进行交互,获取、设置某些参数或执行某些操作,nr_micro_shell 正是为满足这一需求,针对资源较少的MCU编写的基本命令行工具。虽然RT_Thread组件中已经提供了强大的finsh 命令行交互工具,但对于ROM、RAM资源较少的单片机,finsh 还是略显的庞大,在这些平台上,若仍想保留基本的命令行交互功能,nr_micro_shell 是一个不错的选择。 nr_micro_shell 具有以下优点 1.占用资源少,使用简单,灵活方便。使用过程只涉及两个shell_init()和shell()两个函数,无论是使用RTOS还是裸机都可以方便的应用该工具,不需要额外的编码工作。 2.交互体验好。完全类似于linux shell命令行,当串口终端支持ANSI(如Hypertrm终端)时,其不仅支持基本的命令行交互,还提供Tab键命令补全,查询历史命令,方向键移动光标修改功能。 3.扩展性好。nr_micro_shell 为用户提供自定义命令的标准函数原型,只需要按照命令编写命令函数,并注册命令函数,即可使用命令。 【移植步骤】 1、在stm32cubeIDE中配置好串口2,并开启中断。 2、下载nr_micor_shell源码到本地,并在工程中新Middlewares/Third_Part文件夹,把源码复制到该目录下面: 3、把该目录头文件目录添加进工程中: 再把路径加入到工程中: 4、因为要用printf重定向,所以在uart.c中添加重定向的代码:
5、添加用户函数shell_uart.c,主要是创建一个接收缓冲区,来实现对串口的接收,实现代码如下:
然后添加shell_usart_init()来初始化shell主要是就是初始化shell然后开启中断接收:
最后添加loop函数用来响应shell的与用户的交互:
6、在main.c中添加shell的初始化,并添加shell_usart_loop到while中: 实现效果: 下载到开发板后,就可以成功的打印出如下欢迎语: |
【STM32C0评测】移植touchGFX
【STM32C0评测】驱动ST7735LCD屏
【STM32C0评测】使用外部中断控制小灯点亮熄灭
【STM32C0评测】开箱以及环境搭建
【板卡申请】入门 “芯”篇章, 速写新品STM32C071/92申请计划
2024年STM32巡回研讨会--北京
STM32不止于芯-广州巡回研讨会分享
【NUCLEO-C031C6】初始化 FOC
话题风暴:看看新品STM32C0到底怎么个事儿?
【NUCLEO-C031C6】串口输出printf测试