本文禁止转载。
本次遇到的问题是:
几个ADC采样芯片进行级联使用,使用SPI接口获取数据。
在使用单个ADC芯片的时候,读写是正常的。也可以正常读取chipID
ADC芯片级联的时候,在使用STM32F4或者GD32F4 系列的Cortex M4芯片来读写,也没有问题。
后续为了降低成本,把Cortex M4系列的ARM内核降低为 Corten M0系列
结果发现读取chipID 不成功
代码逻辑一致,移植也没有问题。
最终定位的问题,就是SPI因为要读取级联ADC 芯片的数据,比单独读取一个ADC芯片所花费的时间腰长
且因为切换到Cortex M0 系列的芯片后,主频一下子从200MHZ 降低为48MHZ
读取速度变慢了,导致之前的代码中SPI来不及读取
后面在SPI时序中,增加了读取时序的延迟时间,读取就正确了。