关于串口的是输出问题

发布于 2021-04-11 17:49:51

char str[] = "hellorn";
seria3 = rt_device_find(UART_NAME3);
int writ(void){

rt_device_write(seria3, 0, str, (sizeof(str) - 1));

}
MSH_CMD_EXPORT(writ, write);

include <rtthread.h>

include <rtdevice.h>

include <rthw.h>

define UART_NAME3 "uart3" / 串口设备名称 /

static void read(void *parameter){

char ch;
 rt_device_t seria3 = rt_device_find(UART_NAME3);
while (1) {
    /* 从串口读取一个字节的数据,没有读取到则等待接收信号量 */
    if (rt_device_read(seria3, -1, &ch, 1) != 1) {
        //rt_kprintf("fail");
        rt_thread_mdelay(2);
    } else {
        rt_kprintf("%c",ch);

    }
}

}

static void uart() {

/* 创建 seria3 线程 */
rt_thread_t thread = rt_thread_create("seria3", read, RT_NULL, 512, 25, 5);
/* 创建成功则启动线程 */
if (thread != RT_NULL)
{
    rt_thread_startup(thread);
    rt_kprintf("start thread success\n");
}
else
{
    rt_kprintf("start thread failed");
}

}

MSH_CMD_EXPORT(uart, uart put);

这样写对吗?,随意定义一个串口,定义一个函数进行Write是数据,另外进行read线程,大佬们为啥打印不出来呢

查看更多

关注者
0
被浏览
202
3 个回答
我爱学习
我爱学习 2021-04-11

定义的是uart3,串口已经打开,控制台用的uart1

mii
mii 2021-04-11

那你能正常发送成功?

james_s
james_s 2021-04-11

1,rt_device_find要成功
2,如果是loopback串口rx tx要连起来

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览