ST 自带的I2C真的好用

[复制链接]
7223|21
 楼主| lixiaoxu2meng 发表于 2010-7-30 08:10 | 显示全部楼层 |阅读模式
我用的就是 ST自带的 例子 读取EEPROM M24C08

我用的芯片是  STM32103ZE  读取EEPROM 24l02
我只修改了两个地方  
1 将#define I2C_PageSize           16   修改为   将#define I2C_PageSize           8   
因为不同的 EEPROM 每页的字节不同
2 EEPROM Addresses  的地址 定义为 0XA0
即#define EEPROM_Block0_ADDRESS 0xA0   /* E2 = 0 */
//#define EEPROM_Block1_ADDRESS 0xA2 /* E2 = 0 */
//#define EEPROM_Block2_ADDRESS 0xA4 /* E2 = 0 */
//#define EEPROM_Block3_ADDRESS 0xA6 /* E2 = 0 */


就可以了 调试通过
下面 附上程序

XUXU.rar

12.99 KB, 下载次数: 208

lpcfans 发表于 2010-7-30 08:25 | 显示全部楼层
是中断吗?
很怀疑。
 楼主| lixiaoxu2meng 发表于 2010-7-30 08:26 | 显示全部楼层
没用中断   
怀疑什么
好用就是好用  
不信你自己试试
lpcfans 发表于 2010-7-30 08:32 | 显示全部楼层
我以前用中断,不好用。查询没用过。
谢谢。
 楼主| lixiaoxu2meng 发表于 2010-7-30 08:44 | 显示全部楼层
啊 我也试过中断 接收时老是死循环

客气
丁弋宇 发表于 2010-7-30 08:48 | 显示全部楼层
以前不好用,自从库改成3.xx后好像强壮了
lpcfans 发表于 2010-7-30 08:53 | 显示全部楼层
不但ST的,其他公司的ARM7,CM3,I2C用中断都不好用。。。
主要原因我个人认为主要是CPU的速度快。。

降低速度一般都可以用。
查询一定要加超时判断。
zq_mcu 发表于 2010-7-31 09:37 | 显示全部楼层
txcy 发表于 2010-8-3 11:18 | 显示全部楼层
中断和查询都可行,不过要看用在什么场合,对时间要求不是很高的用查询就可以了
Loo_jack 发表于 2010-8-3 13:52 | 显示全部楼层
一直用模拟的
什么时候也试试自带的
 楼主| lixiaoxu2meng 发表于 2010-8-28 11:44 | 显示全部楼层
啊 模拟的也行
hotpower 发表于 2010-8-28 19:58 | 显示全部楼层
不但ST的,其他公司的ARM7,CM3,I2C用中断都不好用。。。主要原因我个人认为主要是CPU的速度快。。降低速度一般都可以用。查询一定要加超时判断。 ...lpcfans 发表于 2010-7-30 08:53
不一定吧,俺再nxp_arm7,avr,pic全部用的是中断方式。
mcuisp 发表于 2010-8-29 07:56 | 显示全部楼层
我试过,用IO模拟的比用硬件I2C还节省程序空间。
很多MCU都是如此。
行不改名 发表于 2010-8-29 10:42 | 显示全部楼层
好用啊?还想着用模拟呢.....留个记号
jackzbb 发表于 2010-8-29 12:06 | 显示全部楼层
楼主,我用你的程序怎么不行啊,我也是用I2C1,也是写24C02,只是主控是STM32F103RB,还有什么需要注意的吗?
 楼主| lixiaoxu2meng 发表于 2010-9-6 08:05 | 显示全部楼层
我用的芯片是  STM32103ZE  读取EEPROM 24l02   在安富莱的开发板上实现的  写进去一个数再读出来 如果对了 灯就亮  试验通过确实好用            和你用的应该没什么大问题啊   你看看 24c02每页的字节数是不是8个
 楼主| lixiaoxu2meng 发表于 2010-9-6 08:07 | 显示全部楼层
对了还有 你的器件地址
PXJ_520 发表于 2010-9-12 18:55 | 显示全部楼层
mcu520 发表于 2010-11-17 13:41 | 显示全部楼层
sunny_ugv 发表于 2010-11-17 14:34 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

1679

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部