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

基于cube的硬件I2C小心得

[复制链接]
hithfy 发布时间:2015-9-30 15:07
     这段时间一直在学习cube,研究了关于stmcu上的硬件I2C配置问题,分享一下给各位需要的朋友。
& k' \* }9 I* c5 R/ R: c& t4 A) L     主要功能:实现将一个TX_buf[]存入AT24C64指定地址,然后读出你想读出的数据存入RX_buf[]。: Z0 U/ u/ c1 ^$ a6 [
     从用户手册可以查到硬件I2C有轮询、中断、DMA三种模式,本实验使用轮训方式。    主函数中配置完成后,加一个小小的HAL延时(一定要有!不加貌似会出现读出乱码),然后往下写。0 \! l/ b- N: Q; P6 ~
     HAL_I2C_Mem_Write(DevAddress,MemAddress,MemAddSize,TX_buf,Size,Timeout),在主函数初始化后,调用此函数。, K$ @: x; h9 E' Y* |
     部分参数说明:DevAddress是设备地址设为0xA0(4BIT器件码+3位(A2A1A0)片选地址码+1BIT读写);
7 x4 [- p  o" p3 V+ ~6 s                             MemAddress是存储器内部写入的起始地址设置为0x00(也可设置为其他,范围为:0x0000---0x1fffh);; K0 m, L6 o$ V. k& h
                             MemAddSize是存储器内部地址大小,这里设置为0XFF(<0x1fffh)。      然后加一个HAL延时(一定要有,貌似没有就没办法读取!)。
& D2 E/ a7 D  D7 P    接着写HAL_I2C_Mem_read(DevAddress,MemAddress,MemAddSize,RX_buf,Size,Timeout)。
1 {# O9 I. V0 e! h5 P    这样,一个简单的写入->读出过程就完成了!
0 w+ ~! O. j3 Q: \
4 ^- O( o! ]7 u- s8 V
% g. S* _# u$ T0 O8 s/ \    关于cube的设置问题:由于硬件上,我的A2A1A0均接地,所以在salve feature->primary slave address中设置为0。4 r$ n. g8 i; h2 _1 d- \, w
1 [  I3 O9 Z# y" m# r4 L
+ _) A7 l% c, @8 K: s! U
2 J9 L) x/ l9 u

1 [7 E, F+ N  j
5 a- a8 l, f3 Y' H+ U0 r. T
+ l; W/ U! z, n4 E  q; z
7 [$ K- }. |. u! K; x' Y2 t+ O8 H0 [! N' r3 y
赞 收藏 评论8 发布时间:2015-9-30 15:07

举报

8个回答
yanhaijian 回答时间:2015-9-30 15:18:25
还在用标准库,毕竟比较熟悉。
皈依 回答时间:2015-9-30 15:50:02
学习了 感谢楼主
wyxy163@126.com 回答时间:2015-9-30 18:05:46
提示: 作者被禁止或删除 内容自动屏蔽
你好我好大家好! 回答时间:2015-9-30 20:28:10
感谢楼主
ptiinngg 回答时间:2015-10-1 11:42:40
持续观望中,感谢楼主
lkl0305 回答时间:2015-10-1 16:26:34
多谢分享心得,学习了
+ y# [+ M+ H6 V" |2 Q
; l( b5 l6 `$ `; Z* B1 M: A 000000.jpg
/ v% t9 A* i1 E* Z8 h* ^8 j0 w8 ]
小小木鱼 回答时间:2015-10-15 09:33:35
不错。。谢谢楼主分享!!!
@@@义 回答时间:2017-6-25 15:41:11
楼主,方便看看我的i2c在哪里出的问题么。https://www.stmcu.org.cn/module/forum/thread-612369-1-1.html

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版