在RT-Thread 中 默认的系统输出串口是UART2; 如果想修改成其他串口(以UART1为例子), 分两步走, 1.1. 初始化 对应的串口 (也就是UART1) 1.2 打开 board.c文件 跳转到 函数:uart_init() 将里面的USART2改成USART1; 如下: 2. 修改开机输出信息: 打开kservice.c 跳转到 函数: voidrt_show_version(void...
RTTHREAD对串口进行了默认的初始化,使用的时候,只需要在board.h里面开启对应的串口宏定义并指定引脚就好(复用引脚也可以直接指定),除了控制台串口由系统进行初始化,其余的串口需要我们自己对其进行设备的查找,设置工作模式,及接受回调函数,在这个阶段可手动更改串口的相关配置,详情可参考官方文档[https://www.rt-thread...
RT-Thread 中默认开启了自动初始化机制,因此用户不需要在应用程序中手动调用串口的初始化函数(drv_usart.c 中的 INIT_BOARD_EXPORT 实现了自动初始化)。用户实现的由宏 RT_USING_UARTx 选定的串口硬件驱动将自动关联到 RT-Thread 中来(drv_usart.c 中的 rt_hw_serial_register 实现了串口硬件注册)。 串口发送...
#define NRZ_INVERTED 1 /* inverted mode */ /* 接收数据缓冲区默认大小 */ #define RT_SERIAL_RB_BUFSZ 64 RT-Thread 提供的默认串口配置: #define RT_SERIAL_CONFIG_DEFAULT \ { \ BAUD_RATE_115200, /* 115200 bits/s */ \ DATA_BITS_8, /* 8 databits */ \ STOP_BITS_1, /* 1 stopbit...
2)在串口初始化的时候把485使能引脚的初始化也加进去,默认设置为接收模式。 rt_pin_mode(RS485_RE,PIN_MODE_OUTPUT);// 配置RS485使能引脚为输出rt_pin_write(RS485_RE,PIN_LOW);// 配置RS485为接收模式(一般低电平是接收模式,高电平是发送模式,当然,也有相反的,主要还是看485用什么芯片) ...
对应的RT_SERIAL_CONFIG_DEFAULT是默认的串口参数,如下: /* Default config for serial_configure structure */ #define RT_SERIAL_CONFIG_DEFAULT \ { \ BAUD_RATE_115200, /* 115200 bits/s */ \ DATA_BITS_8, /* 8 databits */ \ STOP_BITS_1, /* 1 stopbit */ \ ...
(4)因为RT-Thread的FinSH是默认使用的串口1,因此,我们需要打开串口1。 (5)官方推荐STM32F103系统主频为72MHZ,因此这里设置为72MHZ。 (6)对外设初始化的文件单独生成.c/.h文件,最终生成代码,并且关闭STM32CubeMX。 (7)打开RT-Thread studio,出现如下弹框,点击确定。
笔者使用的MCU是STM32F746ZG,笔记已经做好该板子的BSP,其工程文件名是stm32f746-st-nucleo,默认使用串口 3 作为 shell 控制台输出使用串口。 【注】如果在BSP没有找到相应的BSP,可以使用相似的板子进行修改,后文会针对如何修改进行说明,但没有类似的板子一般就需要重头移植了。