嵌入式爱好者

查看: 12070|回复: 2

[硬件咨询] ok-rt1061串口收发数据不全问题

[复制链接]

5

主题

15

帖子

33

积分

i.MX RT通行证

扫一扫,手机访问本帖
发表于 2020-3-5 15:59:20 | 显示全部楼层 |阅读模式
本帖最后由 wpneu 于 2020-3-5 18:28 编辑

各位好,我用ok1061开发板进行串口通信,使用自带的uart_sample.c的测试程序,感觉一次最大只能读取64个字节,我需要传输1k字节的数据,后面就丢了,只能接收到64个字节数据,有什么办法一次接收完整1k数据吗?


使用uart_sample.c的原封不动的程序,只把tx_buf 的数据改为了1k字节,每次只能收64 就不继续传输了。
static void serial_thread_entry_rx(void *parameter)
{
          char rx_buf[250];
   rt_uint32_t i=0;
    while (1)
    {
        while (rt_device_read(serial, -1, &rx_buf, 1) != 1)
        {
            rt_sem_take(&rx_sem, RT_WAITING_FOREVER);
                                               
        }
                                rt_kprintf("i=%d\n", i);
        if((i++)==(sizeof(tx_buf)-2))
                                {
                               
                                        rx_buf = '\0';
                               
          rt_kprintf("uart2 recive len:%d data : %s \n", i, rx_buf);
                                        i=0;
                                }
    }
}



msh />uart_sample
uart2 example start ...
msh />read len:63
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119


read len:63
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119



我对端发送的是1k的数据,但是每次只能收到64个数据,后面就没有了。




回复

使用道具 举报

5

主题

15

帖子

33

积分

i.MX RT通行证

 楼主| 发表于 2020-3-6 09:32:10 | 显示全部楼层
已解决,谢谢,揭帖
点评回复 支持 反对

使用道具 举报

0

主题

1173

帖子

2194

积分

发表于 2020-3-6 09:51:47 | 显示全部楼层
能问一下吗,怎么解决的,我们这边还没试出来
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-4-20 20:42

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表