STM32F407如何实现用ADC的DATAREADY信号触发SPI通讯接收数据?
STM32F407外接24位ADC, 用ADC的DATAREADY信号触发SPI通讯接收数据,且希望启动DMA存储一组ADC数据,这个应用怎么实现?查了网上帖子建议用timer事件捕捉响应DATAREADY信号启动SPI的DMA通讯,SPI是8位或16位的数据传输,而ADC的数据是24位或32位的,所以可以用SPI的DMA接收3个Byte或4个Byte,完成一个数据的接收,但是问题在于,下一次DATAREADY信号来了以后,如何不要CPU的干预把DMA的接收地址自动增加到下一个数据地址?是的,一般都是定时器捕捉实现DMA的启动
咦,你这是什么需求啊,要求这么高的ADC精度呀
好像不能不用CPU干预吧,虽然我没做过你说的这种项目,但是地址加加这种,估计还得CPU操作
好像DMA可以做到自己地址++吧,你可以网上搜搜
为啥不要用MCU控制呢?是怕时间占用的多?
你这个可以用CPU控制的方式实现的,其实F407主频很高,SPI速度也很快,不会影响什么的
这个你可以问问ST的技术支持的,看看他们有没有什么 好的办法
你可以存一组数据,然后指针+1,但是不用MCU控制,估计不行
你存完不给存储器写入么?不然下次来数据不就覆盖了么
你搜搜DMA有没有地址自增的操作
討厭和人归類 发表于 2022-10-27 02:10
是的,一般都是定时器捕捉实现DMA的启动
你不想和人归类你难道想和。。。。。 adc精度要求这么高? 可以用CPU控制的方式实现 cpu控制太占用资源了 DC转换是把外面输入到引脚的电压值转换成数字信号,单片机里面有一个模拟至数字的转换模块,我们可以控制它采集引脚的电压,
页:
[1]