大家好 !我又回来了,今天给大家写个串口的使用教程吧。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 版权协议,转载请附上原文出处链接和本声明。