2019-03-23 16:28发布
ywlzh 发表于 2016-7-8 09:42 有几点先说明一下,ADC转换的值又不是不定长的 需要FIFO来干嘛? ADC连续转换,你加了ADC中断没有?加了 ...
huo_hu 发表于 2016-7-8 18:53 dma处理不了数据,只能完成存放的操作,也没有什么fifo,根据dma指针就知道当前数据在哪儿了
yl20084784 发表于 2016-7-8 14:51 因为stm32还要处理一个LWIP协议还有外围屏幕什么的,就是有点担心CPU占用太高了。同时,对ADC采样的精度 ...
最多设置5个标签!
ADC连续转换,你加了ADC中断没有?加了 如果你有其他任务,你要注意了。
DMA只做数据转存这一块,速度快不占CPU时间,所以做好DMA的配置就行,到时候该怎么用这个数据那都是后话
因为stm32还要处理一个LWIP协议还有外围屏幕什么的,就是有点担心CPU占用太高了。同时,对ADC采样的精度有那么一点点要求,所以用DMA+FIFO,需要读取ADC的时候能快速的读取到。
这么做还有一点,因为stm32+DP83848发送网络数据包的时候电源波动还是比较厉害的,做个平滑滤波还是很有必要啊。
好吧,看来此路已绝...换个其他办法了
对于ADC你需要FIFO来干嘛?又不是像串口那样接受的不定长度的数据,那个看情况才需要FIFO。
而你ADC任务如果实时性不高。你大可以把ADC做成软件触发加中断,单次模式。你再用个变量,计数变成多次可控的采样。做那么平滑之类的..... stm32的ADC相较于其他单片机做的还是挺好的,
再考虑一个,如果你ADC有个阈值电压,需要实时的做出反应,而软件触发的方式不是实时的,很难及时的更正,那就把ADC配置成看门狗模式,对,可以变成看门狗,不是模拟看门狗,是实时的。
版主大大,这个问题,根据实际情况,刚刚@ywlzh 提到用ADC模拟看门狗来解决,正对我的应用条件,简直是完美
一周热门 更多>