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

三创电子(Tcreate)-STM32F030调试之I2C篇  

[复制链接]
三创电子(Tcreate) 发布时间:2014-2-12 21:40
本人一直觉得I2C有点难用,特别是ST的,其实我也只用过ST的 哈哈  J' t* P+ D' E, a3 d: o
虽然现在公司的项目上有用到I2C,但是我对STM32F030的I2C还是有些敬畏、果不其然芯片未搞定(当然只是暂时的),于是退而求其次,用I/O模拟试试,整整弄了两个晚上才读到数据,然而当我找到问题所在时 ,我又一次的无语了……
% E( H8 @! _% p" M9 c9 \% [) d  h下面和大家一起分享下原因:- e) F  J% V# G6 Z
#define SDA_READ                (GPIOA->IDR &  GPIO_Pin_10) >> 10
# L. Z$ O' x- {3 P错误的接收字节代码:
+ n* u. g) T% z <span style="color: #000000">INT8U I2C_RecByte(void)- x. T  v) w( h) ?9 P
{
0 o8 \( A  |/ s' ?1 ]. c$ `* N  INT8U i,dat=0;
, T# Z4 `7 \4 J1 _ INT16U uwTemp =0;
! |  h5 d/ k* U7 P0 R$ d9 k 
; |- _0 p9 Y" Y1 C) u2 R4 c  I2C_SDA_IN();
9 y. s( H7 J- ?) I" T8 d1 p 
9 B% J& ?: p! W. d2 W* W4 s  for(i=0;i> 10)这样至少可有保证相对于其他的语句,这是一个原子操作。
. N8 F/ g$ _- K: o6 u  ]扯了这么多 自己都不知道主题在什么地方,写出了和大家分享下,同时自己今后也可以看看,可有起到温故知新作用!
0 G3 R3 ]0 G! v" ~- {/ z; y7 U哎 固件的I2C还没有实现呢,等实现了,再来续更哈……  呵呵
! J! H! w! L$ s  \I2C弄好有一段时间了,但是各种原因一直没有上传,现在上传,有些地方还有些模糊,还请大家一起讨论下, v7 f1 B6 e6 Y
 

STM32F030xx_I2CTest.rar

下载

1.7 MB, 下载次数: 4564

STM32F030xx_I2CTest(GPIO).rar

下载

1.7 MB, 下载次数: 3455

收藏 7 评论26 发布时间:2014-2-12 21:40

举报

26个回答
wjlchangzhou 回答时间:2018-12-20 12:51:16
楼主的硬件IIC我验证过了,是可以用的。8 S' v  n6 F8 o3 t
I2C_uWriteData(0XA0,0x00,16,Bufin);. V% G7 P0 o  ~- a; m; |- T
for(i=0;i<16;i++)Bufr[i]=0;
5 f: R: |' T4 k7 UDelayms(1000);: |2 ^1 T$ I4 [! L$ t# s4 D
I2C_uReadData(0XA1,0x00,16,Bufr);+ W1 x; F! B( W4 [: }" C3 ?
Delayms(1000);7 Y+ q8 @) a# @0 y# F( \# s
5 |3 J5 B3 \- L2 f" w+ U
SLAVER ADDRESS个人觉得应该换个名字,并不是器件的地址,而是功能代码吧~
南宫北堂 回答时间:2017-6-26 09:57:47
楼主的程序有点问题吧?I2C_uWriteData(INT8U SlaveAddr,INT16U WriteAddr,INT8U WriteLen,INT8U *WriteBuf)的WriteAddr参数不起作用啊
Tcreat 回答时间:2015-10-13 10:45:18
alisa123 发表于 2015-10-13 09:04
% @" |4 @" U% D# e6 l- v楼主,你好,请问你分享的stm32f030xx_I2CTest(硬件i2c)的你在板子上跑了吗?能否正常读写数据? ...

+ U1 ?, ~6 D. X+ l! ]- c) v" q可以呀
沐紫 回答时间:2014-2-13 11:01:24

RE: 三创电子(Tcreate)-STM32F030调试之I2C篇

多谢分享!早日实现你的I2C~
* e1 ~4 P- m3 ^" H 
  @  k) W* \' L. J; a继续阅读原创汇总:! u7 p' C) {* ~8 N0 v1 \3 j
STM32F030探索套件开发日志,中文教程,使用问答80篇
咫尺天涯-鱼 回答时间:2014-3-30 09:47:54

回复: 三创电子(Tcreate)-STM32F030调试之I2C篇

    只能说是宏定义不够合理吧,我是在使用时如果要表达一个运算习惯在最外层加一个括弧,不过楼主能把遇到的问题与大家分享是比较好的,大家多多少少会在编程上有些小问题。
三创电子(Tcreate) 回答时间:2014-4-2 13:05:56

回复: 三创电子(Tcreate)-STM32F030调试之I2C篇

回复第 3 楼 于2014-03-30 09:47:54发表:6 c9 N% i' J# u8 O+ P
    只能说是宏定义不够合理吧,我是在使用时如果要表达一个运算习惯在最外层加一个括弧,不过楼主能把遇到的问题与大家分享是比较好的,大家多多少少会在编程上有些小问题。
1 s5 n( c% e/ A4 C' J + t9 i! _' v; A- l+ Y
5 s: b) H/ \0 b! m8 `- w' s; V
学习了  还是要养成良好的习惯
youyou202 回答时间:2014-9-29 14:42:28

RE: 三创电子(Tcreate)-STM32F030调试之I2C篇

请问下为什么在I2C_Start, I2C_Stop,I2C_SendAck。。。里面都要加上 I2C_SDA_OUT()或者I2C_SDA_IN()呢?
7 j/ e) B3 a9 b3 z& g直接在初始化的时候设置为复用AF模式就可以了吧。我与24c32通讯采用的开漏输出# k/ S# O! j# U
void I2C_uConfiguration(void)
4 C7 p3 {4 O$ ^" P+ a; ~{
3 ~3 _( V% q" p3 ^' K7 `        GPIO_InitTypeDef   GPIO_uInitStructure;
* L, q5 P) e6 {! U6 m9 @; w        6 @/ R0 [9 x: A7 U
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
2 X, K7 f% S' F7 ?2 |: C! V* a       
' U, }0 `+ i# ~        GPIO_uInitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;: M; r1 N( w" l
        GPIO_uInitStructure.GPIO_Mode = GPIO_Mode_AF;
8 p0 A7 X# f/ o, ?  Y        GPIO_uInitStructure.GPIO_OType = GPIO_OType_OD;  ! i, ~: }, L* r/ d
        GPIO_uInitStructure.GPIO_Speed = GPIO_Speed_Level_3;  // 10M
' B3 E, n* Q9 Y6 T! n( A        GPIO_Init(GPIOA,&amp;GPIO_uInitStructure);
0 w9 B1 R0 B& h4 B) M  D4 u* t, D}
alisa123 回答时间:2015-10-13 09:04:26
楼主,你好,请问你分享的stm32f030xx_I2CTest(硬件i2c)的你在板子上跑了吗?能否正常读写数据?
alisa123 回答时间:2015-10-13 11:37:43
Tcreat 发表于 2015-10-13 10:45
) |( Z( `; ]" m& p$ ^& \可以呀
* c! K6 h! f% q& S9 w+ n6 p. P
谢谢你的分享,我好好看看,谢了
alisa123 回答时间:2015-10-14 14:17:45
楼主,你好,我看你的里面对以0x0000开始的50个数据进行写入和读取,请问你用的是哪个型号的eeprom?
alisa123 回答时间:2016-3-9 10:56:34
楼主,你好,请问你有没有用中断方式调过?
yuankunli 回答时间:2016-8-9 20:17:10
认真学习 IIC
lukgeeker 回答时间:2017-11-28 15:07:43
多谢分享!
robin97172 回答时间:2017-12-25 10:15:01
谢谢楼主分享经验
chenke9703 回答时间:2018-5-3 16:28:46
用什么从片子上看到数据的
2 q6 [- K* [* z6 V7 v! j. X& m/ u
12下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版