搜索
bottom↓
回复: 6

RTT串口读怎么是分成2次读取完毕的?

[复制链接]

出0入0汤圆

发表于 2013-11-17 18:48:57 | 显示全部楼层 |阅读模式
串口进来的数据,每次都是分成2次才读取完毕? 第一次是1个字节,第二次是剩余的。用了很多样本测试过都这样,样本数据量不大,1K以内。
是不是设计就是这样的?
RTT版本是GIT MASTER ,应该是1.2.0BETA ,uart1配置用的是默认的RX中断模式,TX STREAM。
部分关键代码:
// 串口的通知函数
static rt_err_t hub_rx_ind(rt_device_t dev, rt_size_t size)
{
          struct rx_msg msg;  
    msg.dev = dev;  
    msg.size = size;     //这个好像不准,已经读切完毕了还 >0
     
   
    rt_mq_send(&rx_mq, &msg, sizeof(struct rx_msg));  
     
    return RT_EOK;
}

读取线程:

while (1)
        {
                /* wait receive */
       
                                result = rt_mq_recv(&rx_mq, &msg, sizeof(struct rx_msg), RT_WAITING_FOREVER);  
      
         
        if (result == RT_EOK)  
        {  

            
                rx_length = rt_device_read(msg.dev, 0, &rx_buffer[0], rx_length);  

           }

测试样板:
00aa: 这个2个字节的会先发送第一个00,然后aa
00aa00bbcc: 这个5个字节的会先发送第一个00,然后剩下的,但是上面的串口回调函数依然会被继续调用多次,尽管每次会读取不到什么,     也就是rx_length 为0


别的样板也是一样,都是第一次会先读取到一个字节,然后会通知读取剩余的字节,然后还会无效通知多次。
                                               

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2013-11-17 19:00:35 | 显示全部楼层
这样很不好控制了,一个完整的数据包给分成很多个,难道还的判断数据包头,组装数据包?

出0入0汤圆

 楼主| 发表于 2013-11-20 22:36:34 | 显示全部楼层
搞惯IP了原来串口的自己写协议,看来没有想象中那么容易用啊。
找到个参考的了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-2-18 21:59:52 | 显示全部楼层
同问,我用的是1.20正式版,也是RX中断模式。调了2天了。看finsh部分代码,是

出0入0汤圆

发表于 2014-2-18 22:01:33 | 显示全部楼层
看finsh部分代码,是while (rt_device_read(shell->device, 0, &ch, 1) == 1){……}

出0入0汤圆

发表于 2014-2-18 22:03:54 | 显示全部楼层
finsh里接收字符串是接收一个消息、接收一个字符的。

出0入0汤圆

发表于 2014-2-18 22:05:19 | 显示全部楼层
楼主那个usart_frame.rar是裸机的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-4 02:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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