有个ADC芯片(AD7606),我一直用stm32f407的硬件SPImode3来通讯,数据也都对没啥问题,发了好多货了。今天我想试试IO模拟SPImode3的方式看看传输速度能差多少,结果读出来的数据是正常数据的2倍,这说明数据错位了1位。用示波器抓了一下图,发现应该使用mode2才行,硬件SPI之所以没出错是因为硬件SPI速度够快,在MISO电平还没来得及变的时候就读回来了,而IO模拟的速度没那么快所以读到的数据是下一位。当时看手册的时候还有点纳闷,为啥时序图这么奇怪(第一次用mode2器件),看到数据读取正确也没有细纠。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|