RT1172 驱动串口示例代码 - RT-Thread
#include <rtdevice.h> #include <rthw.h>
#define EXAMPLE_UART_NAME "uart2" /* 串口设备名称 / #define EXAMPLE_UART_BAUDRATE 115200 / 波特率 */
static void uart_thread_entry(void *parameter) { rt_device_t uart; char buffer[20];
/* 查找串口设备 */
uart = rt_device_find(EXAMPLE_UART_NAME);
if (uart == RT_NULL)
{
rt_kprintf("find %s failed!\n", EXAMPLE_UART_NAME);
return;
}
/* 打开串口设备 */
if (rt_device_open(uart, RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX) != RT_EOK)
{
rt_kprintf("open %s failed!\n", EXAMPLE_UART_NAME);
return;
}
while (1)
{
/* 从串口读取数据 */
if (rt_device_read(uart, 0, buffer, sizeof(buffer)) != sizeof(buffer))
{
rt_kprintf("read %s failed!\n", EXAMPLE_UART_NAME);
}
else
{
/* 打印接收到的数据 */
rt_kprintf("Received: %s\n", buffer);
}
rt_thread_mdelay(1000);
}
}
int rt_application_init(void) { rt_thread_t tid;
tid = rt_thread_create("uart", uart_thread_entry, RT_NULL, 1024, 20, 10);
if (tid != RT_NULL)
{
rt_thread_startup(tid);
}
return 0;
}
这个示例代码演示了如何使用 RT-Thread 的驱动串口功能。首先,我们通过 rt_device_find 函数查找指定名称的串口设备,然后使用 rt_device_open 函数打开串口设备。之后,在一个循环中,我们使用 rt_device_read 函数从串口读取数据,并使用 rt_kprintf 函数打印接收到的数据。最后,我们延时 1 秒钟,然后再次读取数据。
原文地址: https://www.cveoy.top/t/topic/px41 著作权归作者所有。请勿转载和采集!