我的旧实现(有效)侦听外部中断(数据就绪),并调用SPI transfer (KEIL驱动程序)读回值。它传输固定的32字节和读取32字节同步。到目前为止一切都很好。问题是,当我将采样率提高到每秒20,000个样本以上时,它变得太慢,cpu被中断太多次,我无法做其他任何事情。我的目标是达到每秒32K个样本。Keil spi驱动程序使用DMA底层,但仍然中断cpu每秒32K次太多了。
我认为应该有一种方法来配置低级DMA,以便在外部事件(数据就绪信号)发生时开始传输。我的目标是设置DMA,以便多次读取每个DRDY信号上的值(