RT_thread串口通信
更改时钟
调试串口UART2与通信串口UART1
#define BSP_USING_UART2
#define BSP_UART2_TX_PIN "PA2"
#define BSP_UART2_RX_PIN "PA3"
#define BSP_USING_UART1
#define BSP_UART1_TX_PIN "PA9"
#define BSP_UART1_RX_PIN "PA10"
增加头文件
代码
#include <rtthread.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
#include <drv_common.h>
#include <drivers/pin.h>
#define LED0_PIN GET_PIN(G,0)
rt_device_t u1_dev;
struct serial_configure u1_configs = RT_SERIAL_CONFIG_DEFAULT;
int main(void)
{
/*******************寻找设备***********************/
rt_err_t ret=0;
u1_dev = rt_device_find("uart1");
if(u1_dev==RT_NULL)
{
LOG_E("rt_device_find[uart1] failed...\n");
return -EINVAL;
}
/*******************打开设备***********************/
ret=rt_device_open(u1_dev, RT_DEVICE_OFLAG_RDWR|RT_DEVICE_FLAG_INT_RX);
if(ret<0)
{
LOG_E("rt_device_find[uart1] failed...\n");
return ret;
}
rt_device_control(u1_dev, RT_DEVICE_CTRL_CONFIG , (void *)&u1_configs);
rt_device_write(u1_dev, 0, "Uart1 config\n", rt_strlen("Uart1 config\n"));
rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);
LOG_D("Hello RT-Thread!");
return RT_EOK;
}
备注
使用串口1通信的时候
uart1TX的PA9与usb转串口的RX连接
uart1RX的PA10与usb转串口的TX连接
== 调试的时候是调试,通信的时候是通讯,如果有两个usb转串口,也可以一边调试一边通信 ==