如果是固定的24个字节数据,那就很好办。
初始化串口,配置波特率、校验位等参数,开启接收中断,在中断中,用定义的一个缓冲数组接收每个字节,同时接收计数加1.
在中断中,判断是否到24个字节了,如果到了就关闭中断,将这24个字节数据保存到一个缓冲数组里,然后处理就行了。
这个有比较多的方法,理论上只要串口缓冲区大于24byte就可以预存起来使用,
如果小于这个,则需要及时复制移动到其他能够缓冲到地方,方便数据结构的解析。
两种方式
1、用串口DMA,DMA的深度确定为24,然后等到DMA里面有24个字节的数据的时候,DMA控制器会触发一个接收完成中断,这时去将DMA缓冲区里面数据取出即可
2、用普通接收模式,就是那个TC中断,每收到一个字节的数据就+1,达到24之后就进行处理
推荐第一种