CS1237/CS1238 在 New Data Update 期间会更新 AD 值,且时序复位。如果读取 AD 期
间遇到 New Data Update 就会导致时序错乱, 表现为 AD 码值错乱。
举例:虽然每次读取 AD 值前都判断 SDA 是否为低电平, 但如果没有时序对齐的话,
就会可能出现读取期间遇到 New Data Update 的状况。
读取 AD 值(包括读写寄存器),建议使用外部下降沿中断判断 New Data Ready, 如果中断有效则
标志位使能, 然后根据标志位读取 AD 值。外部中断起到时序对齐的作用。
如果不是在中断函数里操作读写时序,则读写操作前需要关闭相应的外部中断,读写操作完毕后再
开启中断。
如果使用定时查询的方法(每隔一段时间判断 SDA 是否为低电平),需要缩短查询间隔(例
如 1ms~5ms)。 DR=640Hz/1280Hz 则不建议使用查询判断,以免定时中断频繁产生。
你如果方便留一个邮箱,我发一份CS1237/38的FAQ资料给你。