1)场景:最近调试ADS1220 的芯片,需要读取不同通道的AD值,修改寄存器0的值时一直失败

但是在单片机启动时,写寄存器0时,值能正确写入,并正确读出,之后写完读取出的都是FF或其他异常值,

2)怀疑方向:

1、SPI通信异常;

        上电第一次的读写都正常,这个原因不太可能;

2、写完之后,延时2ms;

        试了,没用;

(通过逻辑分析仪发现,启动完成之后在写寄存器时,其实发送的数据全是FF,电平拉不低)

3、管脚被其他地方影响;

        检查没有其他地方配置这个管脚,只能注释掉部分代码,逐个定位;

3)原因:最后,在注释掉定时器8初始化代码的时候,发现功能正常,查看手册发现定时器8的通道和SPI有冲突(单片机是N32G455)

4)遗留问题:在定时器8的初始化函数中只配置了PC6、7管脚,没有配置其他管脚,为什么还会影响PA6、7?

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐