OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 25964|回复: 50

STM32F407硬件IIC读写AT24C02,已经测试成功

[复制链接]

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-4-8 23:44:45 | 显示全部楼层 |阅读模式
本帖最后由 八度空间 于 2016-4-8 23:55 编辑

编译环境:MDK5.18
库函数版本:V1.5.1
测试平台:原子探索者开发板

大多数人都说STM32的硬件IIC不稳定,等等,之前用官方的例程在103上面测试,不稳定,听说在F4上面好点,就弄了一下,喜欢白老鼠的朋友可以拿去测试一下

1、配置注意了(寄存器操作的朋友注意了)按照官方参考手册给的配置流程进行配置IIC相关的寄存器(我之前试过不按照官方这个,没成功,后续就用库函数来了)
1.png
2、大家注意看寄存器CR1的第7位,看手册说明
2.png
3.png
官方也有相关经验手册供大家参考,大家请参考这个文档《时钟延展导致 I2C 通信不可靠
所以,在初始化完成之后,我的代码中这位是置位的
3、在进行数据发送与读取过程,注意怎样清除相关的标志位,操作不能少了,否则意想不到的意外就发生了,操作流程在参考手册上也有(我用的是7位设备地址,至于10位的留给大家了)
4.png
5.png
6.png
7.png
4、特别注意发送操作与读取操作中EVx事件清标志位的方法
5、附件也上传几份官网的经验手册
6、奉上测试逻辑分析仪抓取的波形两份
8.png
9.png


这份代码在战舰V3开发板上面进行了一次测试,也读写正常,至于什么DMA发送与接收我就还没弄,过后打算试下用这个硬件做下IIC从模式看下行不行,同时大家也可以帮忙测试一下代码的稳定性和可靠性

在F407和F103上面进行移植,我这份代码做了自动适配的,只需要将相关的库函数和MDK中的define定义一下即可



F407.rar

569.6 KB, 下载次数: 5090

时钟延展导致 I2C 通信不可靠.pdf

137.54 KB, 下载次数: 1850

一个判断I2C总线通信异常原因的方法.pdf

64.81 KB, 下载次数: 2180

I2C 接口进入 Busy 状态不能退出.pdf

118.83 KB, 下载次数: 1959

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-4-9 08:44:35 | 显示全部楼层
以前测过硬件IIC读写AT24C02正常,但是读写MPU6050直接死机!
开往春天的手扶拖拉机
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-4-9 09:05:11 | 显示全部楼层
zuozhongkai 发表于 2016-4-9 08:44
以前测过硬件IIC读写AT24C02正常,但是读写MPU6050直接死机!

好早喔,这就没测试个过
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-4-9 09:07:10 | 显示全部楼层
zuozhongkai 发表于 2016-4-9 08:44
以前测过硬件IIC读写AT24C02正常,但是读写MPU6050直接死机!

昨晚让它连续跑了一晚上,目前为止运行了27900秒,还没有出错,IIC频率是100KHz的,连续写入12字节,然后再读取出来,对比写入数据,不对,立马停止,报警
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-4-9 22:37:25 | 显示全部楼层
已经测试了76200秒了,没出现错误,不知道EEPROM挂掉了没,写入和读取大约是40ms执行一次,算算也好几十万次了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

3

主题

126

帖子

0

精华

高级会员

Rank: 4

积分
776
金钱
776
注册时间
2015-2-28
在线时间
251 小时
发表于 2016-4-11 15:23:23 | 显示全部楼层
有空看看 谢谢分享
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-4-11 16:38:45 | 显示全部楼层
mingjie2015 发表于 2016-4-11 15:23
有空看看 谢谢分享

STM32F407跑着没问题,103不行
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

3

主题

126

帖子

0

精华

高级会员

Rank: 4

积分
776
金钱
776
注册时间
2015-2-28
在线时间
251 小时
发表于 2016-4-12 10:06:58 | 显示全部楼层
八度空间 发表于 2016-4-11 16:38
STM32F407跑着没问题,103不行

奥 我打算用在407上   
回复 支持 反对

使用道具 举报

2

主题

394

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2093
金钱
2093
注册时间
2012-5-8
在线时间
312 小时
发表于 2016-4-12 11:15:29 | 显示全部楼层
很好谢谢!
回复 支持 反对

使用道具 举报

2

主题

394

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2093
金钱
2093
注册时间
2012-5-8
在线时间
312 小时
发表于 2016-4-12 11:15:54 | 显示全部楼层
很好谢谢!
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-4-13 14:02:56 | 显示全部楼层
佳作,围观学习...
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

0

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2016-3-16
在线时间
48 小时
发表于 2016-6-14 11:17:48 | 显示全部楼层
路过 围观
回复 支持 反对

使用道具 举报

21

主题

243

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2015-3-12
在线时间
166 小时
发表于 2016-6-24 06:56:43 来自手机 | 显示全部楼层
战舰试试
回复 支持 反对

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-5-26
在线时间
5 小时
发表于 2016-6-24 08:23:56 | 显示全部楼层
八度空间 发表于 2016-4-9 09:07
昨晚让它连续跑了一晚上,目前为止运行了27900秒,还没有出错,IIC频率是100KHz的,连续写入12字节,然后 ...

你用哪家的24C02?可以连续写12个字节?读出来对比还一样?
24C02的页大小一般是8Byte,哪家的IC是16Byte?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-6-24 12:42:55 | 显示全部楼层
zxqchongchi 发表于 2016-6-24 08:23
你用哪家的24C02?可以连续写12个字节?读出来对比还一样?
24C02的页大小一般是8Byte,哪家的IC是16Byt ...

和厂家没关系,我只是测试,具体实际应用还是按照手册来弄
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-6-24 12:43:17 | 显示全部楼层

我测试过战舰V3的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-8-10
在线时间
16 小时
发表于 2016-8-10 11:26:35 | 显示全部楼层
路过学习 围观
回复 支持 反对

使用道具 举报

2

主题

394

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2093
金钱
2093
注册时间
2012-5-8
在线时间
312 小时
发表于 2016-8-10 13:49:18 | 显示全部楼层
学习!!!谢谢分享!
回复 支持 反对

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2016-2-28
在线时间
35 小时
发表于 2016-10-15 21:14:58 | 显示全部楼层
stm32f103ze 测试1.5小时无异常。24C02,每200ms读写10byte
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-10-16 19:51:06 | 显示全部楼层
zzqasim 发表于 2016-10-15 21:14
stm32f103ze 测试1.5小时无异常。24C02,每200ms读写10byte

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2016-9-25
在线时间
8 小时
发表于 2016-10-22 18:35:11 | 显示全部楼层
读写EEPROM都有问题那还能用吗?STM32的IIC的硬伤是如果读写过程出现问题后很难恢复。比如,在发送START时,若外部电路影响SDA没有跳变,则STM32F的IIC接口失败,下次还是失败。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-10-23 01:39:18 | 显示全部楼层
hcf98 发表于 2016-10-22 18:35
读写EEPROM都有问题那还能用吗?STM32的IIC的硬伤是如果读写过程出现问题后很难恢复。比如,在发送START时 ...

是啊,不敢用硬件的,都是IO模拟的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-3-19 22:20:01 | 显示全部楼层
hcf98 发表于 2016-10-22 18:35
读写EEPROM都有问题那还能用吗?STM32的IIC的硬伤是如果读写过程出现问题后很难恢复。比如,在发送START时 ...

STM32F302我使用着硬件I2C从设备正常,不过要打开时钟延展功能,关闭貌似不对,没找到什么可以之处
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6551
金钱
6551
注册时间
2015-8-25
在线时间
1024 小时
发表于 2017-4-7 17:58:53 | 显示全部楼层
八度空间 发表于 2016-4-9 09:07
昨晚让它连续跑了一晚上,目前为止运行了27900秒,还没有出错,IIC频率是100KHz的,连续写入12字节,然后 ...

为了兼容高速总线,你改用400KHz再试试
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-4-7 23:17:38 | 显示全部楼层
szczyb1314 发表于 2017-4-7 17:58
为了兼容高速总线,你改用400KHz再试试

400K貌似不怎么好
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

zhaoking100 该用户已被删除
发表于 2017-4-18 17:08:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-4-18 19:35:34 | 显示全部楼层
zhaoking100 发表于 2017-4-18 17:08
请问楼主,有没有中断的?  为什么不用中断? 因为不用一直while判断 浪费运行时间啊

没用中断,你可以修改呀,呵呵
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

zhaoking100 该用户已被删除
发表于 2017-4-23 14:03:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

zhaoking100 该用户已被删除
发表于 2017-4-23 14:05:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-4-23 14:51:55 | 显示全部楼层
zhaoking100 发表于 2017-4-23 14:05
楼主请看看,上面的读取程序,读取的数据也是对的。 但是结束后。 SCL=1;SDA=0; 导致下一次进不了写数据, ...

你是哪个芯片
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-8-28 17:57:36 | 显示全部楼层
hcf98 发表于 2016-10-22 18:35
读写EEPROM都有问题那还能用吗?STM32的IIC的硬伤是如果读写过程出现问题后很难恢复。比如,在发送START时 ...

ST有一个欺骗的办法

I2C 接口进入 Busy 状态不能退出.pdf

118.83 KB, 下载次数: 299

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

17

主题

119

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
466
金钱
466
注册时间
2018-4-26
在线时间
78 小时
发表于 2018-9-5 09:50:08 | 显示全部楼层
楼主你好,我在用你硬件IIC程序的测试程序时候,我用的不是AT芯片,而是其他的I2C芯片,我也是用你的程序测试的,有个问题想请教下,我的寄存器地址和发送(接收)的数据都是16位的,我在你的基础上更改了一下,你看一下这样会不会有什么问题,

u8 Hard_IIC_WriteOneByte(I2C_TypeDef* IICx, uint8_t SlaveAdd, u8 writeAdd, u8 data,u8 * err)
u8 Hard_IIC_WriteOneByte(I2C_TypeDef* IICx, uint8_t SlaveAdd, u16 writeAdd, u16 data ,u8 * err)
u8的更改为u16的了,

I2C_SendData(IICx, WriteAdd);  //发送寄存器地址
        temp = 0;
        //
        //EV8
        //
        while (!I2C_CheckEvent(IICx, I2C_EVENT_MASTER_BYTE_TRANSMITTING))
        {
                temp++;
                if (temp > 800)
                {
                        *err |= 1<<3;
                        I2C_GenerateSTOP(IICx, ENABLE);  //2úéúí£&#214;1D&#197;o&#197;
                        return;
                }
        }




I2C_SendData(IICx, (WriteAdd>>8)&oxFF);  //发送寄存器地址
        temp = 0;
        //
        //EV8
        //
        while (!I2C_CheckEvent(IICx, I2C_EVENT_MASTER_BYTE_TRANSMITTING))
        {
                temp++;
                if (temp > 800)
                {
                        *err |= 1<<3;
                        I2C_GenerateSTOP(IICx, ENABLE);  //2úéúí£&#214;1D&#197;o&#197;
                        return;
                }
        }

I2C_SendData(IICx, (WriteAdd&0xFF);  //发送寄存器地址
        temp = 0;
        //
        //EV8
        //
        while (!I2C_CheckEvent(IICx, I2C_EVENT_MASTER_BYTE_TRANSMITTING))
        {
                temp++;
                if (temp > 800)
                {
                        *err |= 1<<3;
                        I2C_GenerateSTOP(IICx, ENABLE);  //2úéúí£&#214;1D&#197;o&#197;
                        return;
                }
        }

请问我这样完成一个16位的寄存器地址发送有没有问题
回复 支持 反对

使用道具 举报

17

主题

119

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
466
金钱
466
注册时间
2018-4-26
在线时间
78 小时
发表于 2018-9-5 10:32:30 | 显示全部楼层
我能把我的程序发你邮箱,你帮我看一下硬件I2C程序有没有问题么,我发送完I2C地址之后一直就没有应答,程序就死了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-9-5 21:24:38 | 显示全部楼层
关山难越 发表于 2018-9-5 10:32
我能把我的程序发你邮箱,你帮我看一下硬件I2C程序有没有问题么,我发送完I2C地址之后一直就没有应答,程序 ...

你的什么系列的芯片,如果是F1或者F4建议你用模拟的,不要用硬件的,如果你的是F0或者F3系列的话可以用硬件的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

17

主题

119

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
466
金钱
466
注册时间
2018-4-26
在线时间
78 小时
发表于 2018-9-6 10:25:34 | 显示全部楼层
八度空间 发表于 2018-9-5 21:24
你的什么系列的芯片,如果是F1或者F4建议你用模拟的,不要用硬件的,如果你的是F0或者F3系列的话可以用硬 ...

我的是F407的芯片,传感器的控制是I2c的接口,软件模拟我也试了,但是就是没有应答,有一个想请教一下,就是传感器设备需要提供时钟,才能启动,我该如何给他提供呢,只有二根线,我在启动之前需要输出PWM波的形式为他提供时钟么
回复 支持 反对

使用道具 举报

1

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
337
金钱
337
注册时间
2018-4-20
在线时间
80 小时
发表于 2018-9-6 11:42:05 | 显示全部楼层
程序写的不错哦,mark。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-9-6 20:40:27 | 显示全部楼层
关山难越 发表于 2018-9-6 10:25
我的是F407的芯片,传感器的控制是I2c的接口,软件模拟我也试了,但是就是没有应答,有一个想请教一下, ...

I2C中的SCL不就是提供时钟的么
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-7-31
在线时间
9 小时
发表于 2018-9-13 08:38:06 | 显示全部楼层
我用的也是407,这个mark一下    学习了
回复 支持 反对

使用道具 举报

8

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2019-10-23
在线时间
11 小时
发表于 2020-2-11 15:37:08 | 显示全部楼层
楼主的时序图是用什么软件抓的
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2019-7-27
在线时间
12 小时
发表于 2020-2-16 23:31:25 | 显示全部楼层
zuozhongkai 发表于 2016-4-9 08:44
以前测过硬件IIC读写AT24C02正常,但是读写MPU6050直接死机!

MPU6050 I2C时钟不能太高,电赛时被坑在这了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2020-2-22 15:28:58 | 显示全部楼层
bingg 发表于 2020-2-11 15:37
楼主的时序图是用什么软件抓的

逻辑分析仪抓的啊
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2020-2-22 15:29:59 | 显示全部楼层
GBY98 发表于 2020-2-16 23:31
MPU6050 I2C时钟不能太高,电赛时被坑在这了

反正407或者103的硬件IIC都有bug,我试过L0、F0、F3系列的硬件IIC主模式,上到400k做压力测试都没出现问题
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

3

主题

49

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2016-10-19
在线时间
75 小时
发表于 2020-3-15 16:29:43 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-6-20
在线时间
2 小时
发表于 2020-3-16 10:39:58 | 显示全部楼层
里面不要加while1。
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-6-20
在线时间
2 小时
发表于 2020-3-16 10:40:35 | 显示全部楼层
还是软件模拟比较好~~
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2020-3-17 11:01:54 | 显示全部楼层
宋宝磊 发表于 2020-3-16 10:40
还是软件模拟比较好~~

个人喜好
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2018-12-11
在线时间
4 小时
发表于 2020-3-18 13:55:11 | 显示全部楼层
这个可以有,不错的东西。
回复 支持 反对

使用道具 举报

33

主题

88

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
314
金钱
314
注册时间
2019-11-12
在线时间
62 小时
发表于 2020-3-23 16:40:01 | 显示全部楼层
mark,嘿嘿嘿
回复 支持 反对

使用道具 举报

3

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2019-11-6
在线时间
74 小时
发表于 2020-6-18 11:08:47 | 显示全部楼层
请问楼主有F0的硬件IIC吗,我用F0的,一直会卡在while(I2C_GetFlagStatus(I2C1, I2C_FLAG_TXIS) == RESET);
这里,能不能把你的给我借鉴一下
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2020-7-16 08:52:28 | 显示全部楼层
T932401514 发表于 2020-6-18 11:08
请问楼主有F0的硬件IIC吗,我用F0的,一直会卡在while(I2C_GetFlagStatus(I2C1, I2C_FLAG_TXIS) == RESET);
...

这个帖子上有http://www.openedv.com/forum.php ... p;page=1#pid1101749
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 07:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表