• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

LPC824串口接收不定长数据有搞过的吗

1553430737@qq.com 2018-04-26 浏览量:1114
rt
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • LPC824应该是不支持串口空闲中断的。这时,串口上的数据就要有一个协议来进行规范。

    接收时,一个字节一字节的接收,接收后来判断这个数据什么时候结束。

    也可以接收一个字节就开始计时,计时超过了就算是一帧数据。

    • 发布于 2018-05-22
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:11
  • 不定长数据是指包的数据不定长?这个做好校验就行了
    • 发布于2018-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 你不定长数据也有一个格式、或者字节数吧,这个要协商一个规范,发送和接收端协调就好。

    比如你发送数据时,是一个数据长度和正式数据这样一个二元结构,这样通过第一个元素知道后续数据真实长度就可以完成接收。

    • 发布于2018-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 其实感觉原理都是那样,你在两端规定协调好规范就能正常协商
    • 发布于2018-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32的串口不定长接收是用DMA方法实现的,楼主看看LPC824有没有类似的方法,一般调通DMA就好办了。

    • 发布于2018-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 定好开头 与 结尾的接受协议就可以实现,开头结尾最好都是两个字节的数据
    • 发布于2018-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 你发送的时候肯定是知道有多长的,在协议里加上这个信息字节;接收端按照这个来解析不就可以了;加上校验,防止出错。
    • 发布于2018-04-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 做个超时机制,不停去检测串口上面是否有数据,5ms检测一次,如果连续两次都没有数据说明这一包数据接收完毕
    • 发布于2018-04-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 你是怎么接受的,如果是一次性传输那就采用DMA,如果是一个一个字符接受,那就做好超时判断,5ms左右如果超时就表示接受完成,然后返回接受的数据总数
    • 发布于2018-04-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 不定长,还是要你自己判断开始和结束的.
    • 发布于2018-04-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 需要自己分包,头尾需要自己定,
    • 发布于2018-04-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 不定长则需要设置好包头和包尾,用c语言过滤就可以
    • 发布于2018-04-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

LPC824串口接收不定长数据有搞过的吗