单片机shell命令_MCU调试大法:使用串口实现简单shell功能

MCU调试大法:使用串口实现简单shell功能

[复制链接]

MCU程序调试方法有很多,比如软/硬件仿真、添加数据打印等。

像Keil MDK就支持不少单片机的软件仿真,在没有拿到单片机的情况下,就可以先仿真调试部分功能,查看代码逻辑是否正确。硬件仿真则需要借助仿真器,如调试Cortex内核MCU常用的J-Link/ST-Link等。通过watch窗口可以查看变量的值:

在代码中添加数据的打印,则需要借助MCU的串口功能,将运行时的关键数据通过串口打印至PC,便于观察。这是我调试时非常喜欢使用的一个功能,因为需要打印哪些数据完全自主可控,而且可以做到基本不影响程序正常运行。

这里顺便把如何使用printf的方法讲一下,比较简单,会的同学可以直接略过:

/@@* 头文件不能少 */

#include

/@@* 平台的选择 */

#ifdef __GNUC__

#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

#else

#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)

#endif /@@* __GNUC__ */

PUTCHAR_PROTOTYPE

{

/@@* 这里只需要实现一个字符ch的发送即可,以下以ST为例 */

HAL_UART_Transmit(&hu

你可能感兴趣的:(单片机shell命令)