历史上的今天
今天是:2025年02月13日(星期四)
2019年02月13日 | STM32读写24C02遇到的问题
2019-02-13 来源:eefocus
这几天在弄I2C,读取24C02的数据。我默默的敲完了代码,然后仿真。
代码就下面两行,就是写一个字节,然后读取。
I2C_EE_BufferWrite( &write,100, 1);
I2C_EE_BufferRead(&read,100, 1);
然后就是各种不对,经过跟踪发现程序挂在了读上面。
具体的发现读数据的时候,刚发送了起始信号后就死掉了。
百思不得其解。
然后用历程上的测试代码来试又正常。
和正常的程序对比了,也没问题。各种参数完全正确。
昨天搞了一天,总觉得是哪个地方我拼错了或是参数设错了。然鹅一直到晚上也没找到原因。
今天早上一想,是不是这写和读之间要加点延迟啊(24C02以前操作过一次,写后加点延迟忘了)。写成这样:
I2C_EE_BufferWrite( &write,100, 1);
delay(1000);
I2C_EE_BufferRead( &read,100, 1);
问题解决。。。然后翻了了数据手册,上面是这样写的:

原来我写完一个字节后,立马跟这读。然后24C02内部还在写,然后单片机就发出了起始信号。
然后所有操作在写周期内无效。导致程序卡死在发出起始信号的地方。
好把,记住这个坑,以后不要再掉里面拉。
上一篇:STM32正交编码器编程
史海拾趣
|
protel dxp中为什么没有intel的元件,到那可以下载到啊,谁能告诉我一下。 另外,在99se中有元件库Intel Databooks.ddb,怎么把他导入dxp中使用。… 查看全部问答> |
|
创意无限,只要你肯去做,水杯穿洞有点难度,需要家里电动工具齐全点就可以做,这个因该是最好看得一个,剩下的就比较简单,电子表的包装盒做大功率led外壳,散热真不错呢,至于汽车空气净化器不知大家见过没,像一个滚筒的芯,里面是纸地,外面是 ...… 查看全部问答> |
|
Altium Designer Summer 08 集成库 pcb封装 sch封装 这是Altium Designer Summer 08 集成库 是三年用这个软件自己做的所有封装,里面基本上涵盖了所有的常用元件,单片机封装,很实用。对于单片机学习者相当的有帮助! [ 本帖最后由 water1987 于 2010-1-11 10:40 编辑 ]… 查看全部问答> |
|
现在想做一个加油站的加油数据采集和无线传输,数据采集和数据传输功能需要哪些设备?特别是无线数据传输这块,预计采用GPRS网络进行传输,不知道完成这个传输功能应该采用什么设备? 1.是基于GPRS网卡的二次开发? 2.直接使用GPRS DTU,这个价格 ...… 查看全部问答> |
|
昨天看了一下电路图,发现内存(SDRAM)和2440接口有点不可思议(后来发现ATmel的ARM也是这么接的),后来仔细对比。 发现问题在LDQM,UDQM这两个引脚,他们接到2440的四个nWBE引脚。内存资料是这么说的:Data Input/Output Mask Controls output ...… 查看全部问答> |
|
公司现在高薪诚聘bss基站高级软件开发工程师(精通C++,两年以上C++研发经验,英语流利)! 工作地点:北京望京(爱立信总部) 可直接向我资讯 &nbs ...… 查看全部问答> |
|
[color]第一步 打开一个ISE工程,随便哪一个有HDL组成的都可以,我打开的如下:第二步 进行综合,修改自己的错误。综合成功。 第三步,在区域2中点击区域3的选项运行,一定不要选择区域3上面的那个选项,出现如下界面:在 ...… 查看全部问答> |




