rt_kprintf()支持两种方式的输出,一种是当使用设备驱动时,将设备将作为控制台;另外一种是当没有使用设备驱动时,系统通过rt_hw_console_output()函数处理rt_kprintf()输出的设备。从下面的代码可以看出两种输出方式的使用 注意:想要使用控制台时(或者rt_kprintf()时),需要使能RT_USING_CONSOLE,使能方式是在rtconfig...
#define RT_USING_CONSOLE // 控制台宏开关 #define RT_CONSOLEBUF_SIZE 128 // 设置控制台数据 buf 大小,默认 128 byte 1. 2. FinSH 组件的使用通过定义 RT_USING_FINSH 开启,开启后可对 FinSH 组件相关的参数进行配置修改,FINSH_THREAD_STACK_SIZE 的值默认较小,请根据实际情况改大。 #if defined (RT_...
/* 表示开启了系统设备的使用 */#define RT_USING_DEVICE/* 定义该宏可开启系统控制台设备的使用, 未定义则关闭 */#define RT_USING_CONSOLE/* 定义控制台设备的缓冲区大小 */#define RT_CONSOLEBUF_SIZE 128/* 控制台设备的名称 */#define RT_CONSOLE_DEVICE_NAME "uart1" (5)自动初始化方式 /* 定义...
串口初始化工作我们已使用cubemx完成,rtconfig.h 中使能 RT_USING_CONSOLE,在此前我们可以在usr_main中使用HAL_UART_Transmit();测试串口输出 Core/Src/usart.c中添加对接函数rt_hw_console_output,打印出了启动信息 //对接的 rt_hw_console_output() 函数,实现控制台字符输出voidrt_hw_console_output(constchar...
实现控制台打印(需要确认 rtconfig.h 中已使能RT_USING_CONSOLE宏定义),需要完成基本的硬件初始化,以及对接一个系统输出字符的函数,本小节将详细说明。 实现串口初始化 使用串口对接控制台的打印,首先需要初始化串口,如引脚、波特率等。uart_init() 需要在 board.c 中的rt_hw_board_init()函数中调用。
所以我们首先要在rtconfig.h 中使能 RT_USING_CONSOLE 宏定义(这个时候编译有错是正常的) 然后在board.c文件中完善串口初始化函数uart_init 进入bsp_usart.c文件 复制usart_gpio_config函数中的全部代码,粘贴到board.c的uart_init函数中 /* 开启时钟/ ...
在rtconfig.h 中添加#define RT_USING_FINSH宏定义,这样 FinSH 将生效,如下图。 实现rt_hw_console_getchar 要实现 FinSH 组件功能:既可以打印也能输入命令进行调试,控制台已经实现了打印功能,现在还需要在 board.c 中对接控制台输入函数,实现字符输入: ...
rt_console_set_device(RT_CONSOLE_DEVICE_NAME); #endif /RT_USING_CONSOLE/ rt_hw_tick_init(); #ifdef RT_USING_COMPONENTS_INIT rt_components_board_init(); #endif #ifdef RT_USING_HEAP rt_kprintf("heap: [0x%08x - 0x%08x]n", (rt_ubase_t)RT_HW_HEAP_BEGIN, (rt_ubase_t)RT_HW_HEAP...
实现控制台打印(需要确认 rtconfig.h 中已使能 RT_USING_CONSOLE 宏定义),需要完成基本的硬件初始化...
#ifdef RT_USING_SMP rt_hw_clint_ipi_enable(); #endif #ifdef RT_USING_CONSOLE /* set console device */ rt_console_set_device(RT_CONSOLE_DEVICE_NAME); #endif /* RT_USING_CONSOLE */ #ifdef RT_USING_HEAP rt_kprintf("heap: [0x%08x - 0x%08x]\n", (rt_ubase_t) RT_HW_HEAP_BEGIN...