I2C总线出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I2C总线出错相关的知识,希望对你有一定的参考价值。
1.我用单片机(MSP430)通过I2C总线向AT24C256里面写数据,在写了一段时间之后数据就不正常了,一开始是比较正常的,请问这是怎么回事啊?
2.有时候00的数据写进去就变成了FF,FF却变成00,把单片机的速度调慢一些,就正常了,请问这是为什么?
2、看你的电路并没有进行上拉也就是SDA和SCL需要接4.7K或者10K的电阻至VCC即可。
3、如果你的I2C是等待延时的话建议修改delay参数或者使用返回ACK查询方式。
4、有问题随时hi我,可以给你传一份调试通过的代码! 参考技术A 1、用示波器检查一下波形,看看是不是受到干扰啦;
2、检查接地,看有没有共地;
3、降低上拉电阻的阻值;
4、检查上拉电阻的位置,尽量靠近master追问
请问我这样接有什么问题吗
参考技术B 你说的单片机的速度是指什么?你要确定一下I2C clock的频率,是不是超过了AT24C256所能接受的时钟频率了。追问
我说的单片机的速度是指单片机的时钟频率。我把它调慢一些,就没问题了,稍微快一点就会出现数据不准确的错误。
追答那你可以用示波器先查一下时钟,确定一下I2C SCL的时钟频率,把它的频率降低,而不是把整个单片机的时钟频率降低。
参考技术C 两次写数据之间有没有等待前一次的数据写完?可以等20MS,或者再写判断有没有正确的ACK信号。飞凌嵌入式OKA40i-C开发板试用体验之交叉编译
选择下载交叉编译工具链(我就按照其他教程下载配置的)
在开发板上配置sftp用于文件传输,将编译完成的可执行文件传到开发板上运行
在Unbuntu20下编写一个helloworld.c文件
通过其他教程学习了一下Makefile文件的构成及简单实现,make编译得到可执行文件main
2.利用上述方式控制LED闪烁
linux系统下一切皆文件
<span font-size:16px;line-height:1.5;"="" style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; line-height: 1.5;">编写gpio_test.c文件,这里参考了文章https://www.jianshu.com/p/e5ecd92c0787
以上是关于I2C总线出错的主要内容,如果未能解决你的问题,请参考以下文章