使用RT_Thread Studio 串口的使用教程

  • Post author:
  • Post category:其他


大家好 !我又回来了,今天给大家写个串口的使用教程吧。OK!开始吧。。

今天我们以串口2作为例子来操作。



使能串口2

Step1:在board.c文件中添加串口2的使能代码

串口

Step2:下载到开发板,打开shell工具,可以看到uart2已经使能

在这里插入图片描述



新建UART2文件

Step1:新建一个uasrt2的头文件

在这里插入图片描述

Step2:根据官方的开发实例, 编写代码

#include <rtthread.h>

#define SAMPLE_UART_NAME       "uart2"       /* 需要操作的设备 */
static rt_device_t serial;                   /* 设备句柄 */
static char str[] = "hello RT-Thread!\r\n";  /* 需要发送的数据 */

static int uart_sample(void)
{
    rt_err_t ret = RT_EOK;
    rt_size_t send_len = 0;

    /* 查找系统中的串口设备 */
    serial = rt_device_find(SAMPLE_UART_NAME);
    if (!serial)
    {
        rt_kprintf("find %s failed!\n", SAMPLE_UART_NAME);
        return -RT_ERROR;
    }

    /* 以中断接收及轮询发送模式打开串口设备 */
    ret = rt_device_open(serial, RT_DEVICE_FLAG_INT_RX);
    if (ret != RT_EOK)
    {
        rt_kprintf("open device failed\r\n");
        return -RT_ERROR;
    }
    /* 发送字符串 */
    send_len = rt_device_write(serial, 0, str, (sizeof(str) - 1));
    if (send_len != sizeof(str) - 1)
    {
        rt_kprintf("send data failed\r\n");
        return -RT_ERROR;
    }
    /* 关闭设备 */
    ret = rt_device_close(serial);
    if (ret != RT_EOK)
    {
        rt_kprintf("close device failed\r\n");
        return -RT_ERROR;
    }

    rt_kprintf("serial device test successful\r\n");

    return RT_EOK;
}
/* 导出到 msh 命令列表中 */
MSH_CMD_EXPORT(uart_sample, uart device sample);

Step3:下载程序,调试程序,可以看到测试成功。我们打开串口看下

在这里插入图片描述

在这里插入图片描述

OK! 串口成功收到数据。 今天就到这里吧,下次再见。



版权声明:本文为qq_44744444原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。