你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

终于搞定了STM32读写EEPROM

[复制链接]
qazwsx-19104 发布时间:2008-9-3 20:21
ST网站上的例程是读写24c08的,他的读函数有问题,原来我在51下一直模拟I2C操作的,用起来心里很有数,按照模拟I2C的步骤重写了读写函数,连续读写,自动处理跨页问题,很容易修改成24C08/32/128/512的读写函数,把我的代码公布如下:

void I2C_AcknowledgePolling(void){
    do{
        I2C_GenerateSTART(I2C1,ENABLE);
        I2C_ReadRegister(I2C1,I2C_Register_SR1);//清除ADDR位

        I2C_Send7bitAddress(I2C1,0xa0,I2C_Direction_Transmitter);
    }while(!(I2C_ReadRegister(I2C1,I2C_Register_SR1)&0x0002));
  
    I2C_ClearFlag(I2C1,I2C_FLAG_AF);
}
void I2C_SequentialRead_AT24C01_02(u8 sla,u8 suba,u8 *pHead,u8 len){
    u8 i;

    I2C_AcknowledgePolling();
   
    I2C_GenerateSTART(I2C1,ENABLE);
    while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT));  
               
    I2C_SendData(I2C1,sla);
    while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));

    I2C_SendData(I2C1,suba);
    while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
               
    I2C_GenerateSTART(I2C1,ENABLE);
    while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT));  

    I2C_SendData(I2C1,sla+1);
    while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED));   

    if(len>1){
        for(i=0;i
收藏 1 评论6 发布时间:2008-9-3 20:21

举报

6个回答
ml8866 回答时间:2011-3-8 15:00:18

RE:终于搞定了STM32读写EEPROM

谢谢
瘦猪呆兔 回答时间:2011-4-28 11:38:54

RE:终于搞定了STM32读写EEPROM

读之前还是要重新初始化一下,不然会有问题哦~
火雷达 回答时间:2011-10-26 13:49:10

RE:终于搞定了STM32读写EEPROM

STM32是要用软件模拟的,有人已经做过测试,硬件I2C好像是有点问题。
laigs218 回答时间:2011-11-8 17:00:57

RE:终于搞定了STM32读写EEPROM

学习了哈哈谢谢楼主!
kevinsyt 回答时间:2011-11-25 11:56:52

RE:终于搞定了STM32读写EEPROM

难道说这里面有硬bug
cedar-358594 回答时间:2012-7-19 17:15:13

RE:终于搞定了STM32读写EEPROM

你搞定了硬件I2C,我的怎么不行啊,经常死在到主控模式响应那
while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT));
怎么也是过不去,但是有时候能写一次读一次,第二次就不行了!打过技术支持的电话说,最好不要用硬件了,建议用软件模拟!哎,无语!

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版