我们使用STM32F429VET6来读取AD7606的转换数据,之前用的是软件模拟的SPI,结果发现速度达不到200K,而且程序一直在进中断,因此占用了很多资源。然接到了硬件SPI上,但是AD7606数据的读取有一些转换完成标志位,如BUSY等,在监测这些标志位的时候依然会用到中断,那么还是同样的一直在进中断,而且不知道这些标志位的存在能不能使用DMA的方式进行数据读取,不知道我们是不是使用方式错误,广大网友有谁用过AD7606,有什么好的办法能够解决这个问题,或者有没有大神告诉我们一下STM32F429能不能读取AD7606的数据而不占太多资源?
试试SPI用SLAVE模式,计算BUSY信号的时延,其他信号通过定时器生成
引用: huo_hu 发表于 2021-3-25 08:01 BUSY位的检测用io口的IDR就行了,和spi没有关系,检测到符合的电平再启动spi传输,和dma也没关系. 尽量用硬 ...
那这样来说200K对于STM32F429也不会有很大压力,是吧?在采集数据的过程中还可以处理其他任务?
引用: zhangliyuan 发表于 2021-3-25 10:05 那这样来说200K对于STM32F429也不会有很大压力,是吧?在采集数据的过程中还可以处理其他任务?
F4耶,肯定没问题