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

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

[复制链接]
三创电子(Tcreate) 发布时间:2014-2-12 21:40
本人一直觉得I2C有点难用,特别是ST的,其实我也只用过ST的 哈哈3 X( H3 l4 S3 B( i
虽然现在公司的项目上有用到I2C,但是我对STM32F030的I2C还是有些敬畏、果不其然芯片未搞定(当然只是暂时的),于是退而求其次,用I/O模拟试试,整整弄了两个晚上才读到数据,然而当我找到问题所在时 ,我又一次的无语了……
6 K8 X' T# r' y" f8 B( w下面和大家一起分享下原因:: X. L1 Q0 u4 W2 x( T* q/ _! G3 u
#define SDA_READ                (GPIOA->IDR &  GPIO_Pin_10) >> 10. ~  Z" Z' t& F6 F/ g* `
错误的接收字节代码:
9 z- o9 Q. \  e; A, ^# m: s <span style="color: #000000">INT8U I2C_RecByte(void)
, J+ g( ^& Z3 |5 }! i. z5 w& Q{
8 O6 N/ L0 D+ q( L: n. [7 x  O+ d- \  INT8U i,dat=0;
" G; A. M& A* I0 @ INT16U uwTemp =0;3 P. y' B$ q( y  z. P2 C
 
) m- u3 p! C" D( H0 k, ~3 t/ A  I2C_SDA_IN();) E: v1 ?+ B1 U4 A7 ]3 [, t. Q
 9 f# u1 u2 Z/ {' S( E0 D) W
  for(i=0;i> 10)这样至少可有保证相对于其他的语句,这是一个原子操作。
  w1 G6 s- c: `- L8 {5 f扯了这么多 自己都不知道主题在什么地方,写出了和大家分享下,同时自己今后也可以看看,可有起到温故知新作用!  V' _) b: {6 n0 T
哎 固件的I2C还没有实现呢,等实现了,再来续更哈……  呵呵" G1 u. @" K* [0 ~( F/ K& Q* y# l
I2C弄好有一段时间了,但是各种原因一直没有上传,现在上传,有些地方还有些模糊,还请大家一起讨论下. L7 p/ }2 w7 x* z' h- P; C/ t
 

STM32F030xx_I2CTest.rar

下载

1.7 MB, 下载次数: 4566

STM32F030xx_I2CTest(GPIO).rar

下载

1.7 MB, 下载次数: 3460

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

举报

27个回答
wjlchangzhou 回答时间:2018-12-20 12:51:16
楼主的硬件IIC我验证过了,是可以用的。% R  g) a) \  t: [2 P) t
I2C_uWriteData(0XA0,0x00,16,Bufin);8 v" _2 \. k. F4 a! n5 r
for(i=0;i<16;i++)Bufr[i]=0;
2 @6 ^* I; S  e/ H  DDelayms(1000);5 z1 w  [1 I7 j2 z) x9 C! @3 D/ F% ^
I2C_uReadData(0XA1,0x00,16,Bufr);
/ k: x! p% {* j' l" e! E: d: ?Delayms(1000);
9 I& j- m3 o  [1 I4 L( b+ n/ m1 ]' d: Y0 T
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
5 f' @" N. Q) w3 h+ e楼主,你好,请问你分享的stm32f030xx_I2CTest(硬件i2c)的你在板子上跑了吗?能否正常读写数据? ...
  y9 Y7 j$ M) {% s6 q
可以呀
沐紫 回答时间:2014-2-13 11:01:24

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

多谢分享!早日实现你的I2C~
, Q/ r. Q. g1 G& h0 F - `% b4 ^1 ~0 W3 R% T0 V) U) c6 p, Y
继续阅读原创汇总:* l$ `! |( G& a& t& i' t
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发表:* _; F# U  a0 \
    只能说是宏定义不够合理吧,我是在使用时如果要表达一个运算习惯在最外层加一个括弧,不过楼主能把遇到的问题与大家分享是比较好的,大家多多少少会在编程上有些小问题。- _: `5 v$ S  x3 W# P" t# k
 
# M$ Y3 q1 C" a- N9 R
2 f: S3 ^" C) M! G6 J# d学习了  还是要养成良好的习惯
youyou202 回答时间:2014-9-29 14:42:28

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

请问下为什么在I2C_Start, I2C_Stop,I2C_SendAck。。。里面都要加上 I2C_SDA_OUT()或者I2C_SDA_IN()呢?
/ j/ V9 V7 D& `9 n/ m. a7 B直接在初始化的时候设置为复用AF模式就可以了吧。我与24c32通讯采用的开漏输出9 L5 y; j; T1 s
void I2C_uConfiguration(void)
+ r3 e+ C8 n2 a: ?4 I7 k( o{
2 Q6 J6 v3 g& @4 P8 s# |        GPIO_InitTypeDef   GPIO_uInitStructure;) d- i3 N! `! F  O9 G  \1 ^8 F
        1 [/ r4 s, l" |+ y5 K
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
! w) t& r- w, y; r# l4 j       
6 Z% Z# ]* x. }- o+ ^        GPIO_uInitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
" p3 |) o; Z% b, ^$ X; x; S        GPIO_uInitStructure.GPIO_Mode = GPIO_Mode_AF;
9 S- n+ C* o) h! p7 B; S8 {4 s' [" |        GPIO_uInitStructure.GPIO_OType = GPIO_OType_OD;  
) U6 T9 S3 ]7 s( W% O  H        GPIO_uInitStructure.GPIO_Speed = GPIO_Speed_Level_3;  // 10M
7 T; \6 l* d0 H9 l        GPIO_Init(GPIOA,&amp;GPIO_uInitStructure);
, l9 b9 O- X6 L9 E! ?' {! V( Z5 u. y}
alisa123 回答时间:2015-10-13 09:04:26
楼主,你好,请问你分享的stm32f030xx_I2CTest(硬件i2c)的你在板子上跑了吗?能否正常读写数据?
alisa123 回答时间:2015-10-13 11:37:43
Tcreat 发表于 2015-10-13 10:45! U& s4 R+ U8 n$ z3 |
可以呀
$ w' ]" z; G/ ^
谢谢你的分享,我好好看看,谢了
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
用什么从片子上看到数据的3 A/ e$ J6 e. h3 v1 |- ?
12下一页

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版