关于通信和数据处理的问题

[复制链接]
2820|36
pklong 发表于 2018-8-6 15:11 | 显示全部楼层
可以使用标志位进行处理的。
maqianqu 发表于 2018-8-6 15:11 | 显示全部楼层
首先需要评估一下计算量的。
touser 发表于 2018-8-6 15:11 | 显示全部楼层
采集数据后,在定时器中断里面进行处理。
jkl21 发表于 2018-8-6 15:11 | 显示全部楼层
中断函数非常复杂吗?
myiclife 发表于 2018-8-6 15:11 | 显示全部楼层
楼主要使用地什么芯片呢?
wwppd 发表于 2018-8-6 15:11 | 显示全部楼层
双向接受,和单向处理。
uytyu 发表于 2018-8-6 15:11 | 显示全部楼层
串口的DMA的效果非常不错。
iyoum 发表于 2018-8-6 15:12 | 显示全部楼层
如果计算量很小,完全可以在中断里面进行。
uytyu 发表于 2018-8-6 15:12 | 显示全部楼层
串口的DMA的效果非常不错。
eefas 发表于 2018-8-6 15:12 | 显示全部楼层
发送部分可以使用中断完成。
 楼主| djz1992 发表于 2018-8-7 08:38 | 显示全部楼层
本帖最后由 djz1992 于 2018-8-7 09:43 编辑
uytyu 发表于 2018-8-6 15:12
串口的DMA的效果非常不错。

串口DMA确实不错,我有十组长度不一的数据要发,还有十几组长度不一样的数据要收,长的有100字节多,短的十几个字节,这些数据帧使用结束标志位。我不知道这样长度不一的数据在使用dma的时候该怎么搞。需要配置几个DMA?我还没具体看DMA
 楼主| djz1992 发表于 2018-8-7 08:38 | 显示全部楼层
maqianqu 发表于 2018-8-6 15:11
首先需要评估一下计算量的。

什么样的计算量算多呢
 楼主| djz1992 发表于 2018-8-7 08:39 | 显示全部楼层
 楼主| djz1992 发表于 2018-8-7 09:49 | 显示全部楼层
dirtwillfly 发表于 2018-8-6 09:38
有例程的
https://freertos.org/FreeRTOS_Support_Forum_Archive/October_2015/freertos_GCC_4.8_and_Tiv ...

谢谢大佬。串口DMA不错,我想用的。我有十组长度不一的数据要发,还有十几组长度不一样的数据要收,长的有100字节多,短的十几个字节,这些数据帧使用结束标志位。我不知道这样长度不一的数据在使用dma的时候该怎么搞。我还没具体看DMA,有几点疑问。
1.因为不会同时发,是不是可以在主函数内对多个不同深度的发送缓存区进行填充,然后要发的时候用一个dma,发送不同长度的内容?
2.dma接收都收到一个缓存区内,可能会存了两条收到的消息,有两个结束标志位。是在主函数内对缓存区的数据进行查找结束标志位吗?
dirtwillfly 发表于 2018-8-7 11:00 | 显示全部楼层
djz1992 发表于 2018-8-7 09:49
谢谢大佬。串口DMA不错,我想用的。我有十组长度不一的数据要发,还有十几组长度不一样的数据要收,长的 ...

dma常见的应用都是传输固定长度的数据,不同长度的没试过。
或者你考虑把数据填充到相同的长度
dirtwillfly 发表于 2018-8-7 11:01 | 显示全部楼层
djz1992 发表于 2018-8-7 09:49
谢谢大佬。串口DMA不错,我想用的。我有十组长度不一的数据要发,还有十几组长度不一样的数据要收,长的 ...

dma常见的应用都是传输固定长度的数据,不同长度的没试过。
或者你考虑把数据填充到相同的长度
 楼主| djz1992 发表于 2018-8-7 11:03 | 显示全部楼层
wwppd 发表于 2018-8-6 15:10
使用乒乓操作。

看了一下乒乓操作,是两个缓冲区,满了之后切换到另一个存,然后满的那个可以进行处理。我有几点疑问。
1.会不会有一帧数据的前半段在缓冲区1,后半段在缓冲区2?
2.不存满不能处理?如果是这样的话,对长度不一样的消息,有的十几字节,有的一百字节,该怎么办?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部