- 5
- 0
- 约1.27万字
- 约 16页
- 2016-11-27 发布于重庆
- 举报
基于STM32F103的I2C總线EEPROM的读写(带超时检测)
HYPERLINK /wellrun/archive/2009/06/18/1505957.html 【原创】基于STM32F103的I2C总线EEPROM的读写(带超时检测)
本人最近参考了 st 公司关于STM32的I2C的例程,觉得不是很适合我的应用,于是自己写了一个基于STM32F103的I2C总线EEPROM(24C256)的读写程序,总线的最高速度可达400K,现在将源代码原原本本的公布如下,希望得到高手的指点,也希望能够给和我有同样想法的同仁们一些参考价值。
注意:最好将固件库升级一下,st网站上面有 V2.03库的补丁。
u32 ulTimeOut_Time;
?
/***********************************************************************************************************????????????????????????????????????? I2C_EE_WriteStr()** Description ?: 将一个数据块写入EEPROM 的指定的地址** Argument(s) ?: xChip - 从器件地址*????? xAddr - EEPROM存储空间地址 *????? xpBuf - 数据缓冲区指针*????? xLen? - 数据长度** Return(s)?? ?: none.** Caller(s)?? ?: Application.** Note(s)???? ?: (1) *-------------------------------------------------------------------------------------------------------* Modified by?:???????? * Modified date?:?????? * Description ?:*-------------------------------------------------------------------------------------------------------**********************************************************************************************************/ void I2C_EE_WriteStr(u8 xChip, u16 xAddr, u8 *xpBuf, u16 xLen){?u8 *pbuf;?u8 err;?u8 retry;?u16 addr;?u16 len;
?//?pbuf = xpBuf;?addr = xAddr;?len? = xLen;
?I2C_EE_Drv_BusEn();?????? ????// 允许总线,写允许
?retry = 5;??? ???????????// 重试5次
?while(len)?{??err = I2C_EE_Drv_WriteByte(xChip, addr, *pbuf);
??if(err)??{???if(--retry == 0 )????????// 已经试了5次,写下一个数据???{????retry = 5;?????????
????pbuf++;????addr++;????len--;???}??}??else? ????????????// 顺利,写下一个数据??{???pbuf++;???addr++;???len--;??}?}
?I2C_EE_Drv_BusDis();?????????// 失能总线,写保护}
/***********************************************************************************************************????????????????????????????????????? I2C_EE_ReadStr()** Description ?: 从EEPROM 的指定的地址读出一个数据块** Argument(s) ?: xChip - 从器件地址*????? xAddr - EEPROM存储空间地址 *????? xpBuf - 数据缓冲区指针*????? xLen? - 数据长度** Return(s)?? ?: none.** Caller(s)?? ?: Appli
您可能关注的文档
- 基于Solidworks的抓物機器车机构设计及运动仿真.docx
- 基于SolidWorks的注塑模具CAD系統.doc
- 基于Solidworks的零件參数化设计.doc
- 基于solidworks蝸轮齿面的三维仿真造型.doc
- 基于SolidWorks的錘片式饲料粉碎机的设计.doc
- 基于Solidworks齒轮精确建模.doc
- 基于solidworks的雙级圆柱齿轮减速器机械实体造型设计.doc
- 基于som網络灰关联分析BP网络预测模型.doc
- 基于Solr的搜索引擎研究與实现.doc
- 基于SOPC技術实现数字闹钟.doc
- 2025滨州康养职业中等专业学校工作人员招聘考试题库及答案.docx
- 2025博爱县职业中等专业学校工作人员招聘考试题库及答案.docx
- 2025百色市培贤职业技术学校工作人员招聘考试题库及答案.docx
- 2025成都市工业职业技术学校工作人员招聘考试题库及答案.docx
- 2025楚雄医药高等专科学校工作人员招聘考试题库及答案.docx
- 2025成都棠湖科学技术学校工作人员招聘考试题库及答案.docx
- 2025峨眉文旅综合高中学校工作人员招聘考试题库及答案.docx
- Modbus RTU通讯协议详解及应用实例.pdf
- 贴太阳膜知识培训课件.ppt
- 总复习-数与代数(2)课件 北师大版数学二年级下册.pptx
原创力文档

文档评论(0)