你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
用在AD7767(ADC采集芯片)。这个芯片有个数据就绪引脚DRDY,DRDY为电平时,SPI可以读取AD7767数据。我原本用的是外部中断去检测DRDY引脚,在外部中断函数里触发SPI_DMA传输。但由于频率太高,进入外部中断太频繁。现在现在想改成把DRDY引脚接到TIM某个通道,用TIM外部触发模式,来触发SPI_DMA,请问这样行得通吗?如果不行,不用外部中断有什么好办法?
用的是STM32H743
举报
xmshao 发表于 2023-2-9 13:20 基于外部中断再来触发DMA传输有时可能对CPU资源是个挑战。</p> <p>
为什么说用外部中断会对cpu资源造成挑战呢
你好有这个链接的源代码吗
骑猪看世界 发表于 2023-2-9 13:25 为什么说用外部中断会对cpu资源造成挑战呢
我是有时,主要指频繁的外部中断让CPU忙于应付它而又没时间去做别的意思。
Tiramisu_ 发表于 2023-2-9 14:50 你好有这个链接的源代码吗
抱歉,我找不到源代码了。
那个链接里把需要贴的代码都贴出来了。
stm32支持canfd和dma结合使用吗
Keil编译为何慢?
多DMA数据流问题
STM32_ImageProcessing_Library 如何实现 图片 去掉 背景?
STM32H743IIT6发热问题.
STM32H743做数字电源,HRTIM问题
stm32h725
TouchGFX Designer下载工程到STM32H7S7-DK报错
为什么NucleoH7上电正常但无法烧录?连接状态一直为绿光红光交替闪烁,如何让他绿灯常亮?
非对称PWM的问题
你的确可以考虑将DRDY信号接到TIMER的输入捕获管脚,通过定时器的捕获事件来触发DMA,进而实现SPI的数据收发。
可以肯定这个思路是可行的。 我这里有个公开的应用分享建议你阅读下,应该有参考价值。它是通过TIMER事件触发DMA完成SPI的收发。
STM32定时器触发SPI逐字收发之应用示例
https://mp.weixin.qq.com/s?__biz=MzA3OTIxMjQyNQ==&mid=2650948888&idx=1&sn=5da2562d48cfa8f6a4c11f9be3c3019d&chksm=84401ffeb33796e8e642e12aa4235c179b1a83976eafabb2324e6ecbbfc579b159fbb28de9bc&token=226105126&lang=zh_CN#rd
你现在是使用的H7系列,提醒两点:
1、安排内存时,注意是你选择的DMA可以访问得到的;
2、因为H7系列往往涉及到D-CACHE,注意数据一致性方面的问题;
3、代码实现有些地方需要自行组织,没法简单调用库API;
为什么说用外部中断会对cpu资源造成挑战呢
你好有这个链接的源代码吗
你好有这个链接的源代码吗
我是有时,主要指频繁的外部中断让CPU忙于应付它而又没时间去做别的意思。
抱歉,我找不到源代码了。
那个链接里把需要贴的代码都贴出来了。