MCU为SM470R1B1MHFQ,通过ADS1278SHFQ的SPI采集3路加表,3路磁信号。
ADS1278SHFQ的SPI模式比较特殊,它是通过DRDY引脚的一个高到低电平变化通知MCU数据采集。MCU检测到之后要立即开始采集,因为ADS1278有自己的时钟和时序,必须要在DRDY自动拉高前读取完成,否则读取的数据会出错。
DRDY脚连接到了SM470的GIOA7脚上,配置为读模式,下降沿触发中断,测试后发现要触发SM470的GIO的中断需要满足下面的时间要求:
但是ADS1278芯片的DRDY时长无法满足这个要求。只能找别的解决办法。
SM470的GIO要想触发中断,必须将GIOPRY1 中对应脚的配置设置为1。否则无法触发中断。
GIOPRY1 = GIOPRY1 | 0x80; // 关键,中断优先级,必须配置为high。