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

单片机串口怎么接收24个字节的数据,并读取出来

白云苍狗 2019-04-13 浏览量:1238
单片机串口怎么接收24个字节的数据,并读取出来
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 如果是固定的24个字节数据,那就很好办。

    初始化串口,配置波特率、校验位等参数,开启接收中断,在中断中,用定义的一个缓冲数组接收每个字节,同时接收计数加1.

    在中断中,判断是否到24个字节了,如果到了就关闭中断,将这24个字节数据保存到一个缓冲数组里,然后处理就行了。

    • 发布于 2019-04-13
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:6
  • 定义个数组,然后每次收到数据就往数组里面存,存完计数值加1,当计数到24就表示一帧接收完成,就可以读取数组,然后把计数值清零就可以了
    • 发布于2019-04-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个有比较多的方法,理论上只要串口缓冲区大于24byte就可以预存起来使用,

    如果小于这个,则需要及时复制移动到其他能够缓冲到地方,方便数据结构的解析。

    • 发布于2019-04-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 24个字节,可以定义一个24字节的数组,每进一次串口中断就向数组中写一个数据,直到数组写满了
    • 发布于2019-04-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 需要定义一个足够长的数组,每接收一个字节就放进数组,接收完毕后再将数组的数据进行处理
    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 两种方式

    1、用串口DMA,DMA的深度确定为24,然后等到DMA里面有24个字节的数据的时候,DMA控制器会触发一个接收完成中断,这时去将DMA缓冲区里面数据取出即可

    2、用普通接收模式,就是那个TC中断,每收到一个字节的数据就+1,达到24之后就进行处理

    推荐第一种

    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以定义一个24字节的数组,每收一个数据就存储到数组中,直到存储满了,就是收到24个字节了
    • 发布于2019-04-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机串口怎么接收24个字节的数据,并读取出来