wpneu 发表于 2020-3-5 15:59:20

ok-rt1061串口收发数据不全问题

本帖最后由 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;
   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个数据,后面就没有了。




wpneu 发表于 2020-3-6 09:32:10

已解决,谢谢,揭帖

zhichao 发表于 2020-3-6 09:51:47

能问一下吗,怎么解决的,我们这边还没试出来
页: [1]
查看完整版本: ok-rt1061串口收发数据不全问题