MC33993手册上对SPI的要求比较简单:CS在不工作时保持高电平,并且SCLK保持(建议)低电平。
当CS下降沿时,器件会唤醒,然后可以发送SPI命令,从下降沿到发送之间有一定的时间延迟需要控制,Tlead。发送
发送完成后,SCLK保持低电平,然后CS上升沿到高电平。
但是,比较麻烦的是中断的问题,请看手册中图4,(Figure 4. Normal Mode Interrupt Operation),
a)如果开关变化发生在CS=1时,只有CS下降沿才能锁住INT和开关状态,当CS上升沿时INT被置高。
b)如果开关变化发生在CS=0时,当后续CS上升沿到达时不会置INT,必须到下一个CS上升沿,同时,开关状态所存在CS的下降沿。
先用示波器观看你的24bit的SPI信号是否符合SPI要求。
然后再次检查开关变化。先试一试开关在不同状态时是否可以正确识别,也就是先把开关设置成不同的状态,然后通电检测,看芯片SPI输出是否正确,然后再在通电过程中检测开关变化。
|