完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
i2c协议中的一个时序问题:SCL为高电平是,SDA由低到高的过程为停止信号。
void stop(void){sda=0;AT24C02_delay();scl=1;AT24C02_delay();sda=1;AT24C02_delay();}这个函数能够让我的程序达到预期目的。void stop(void){scl=1;AT24C02_delay();sda=0;AT24C02_delay();sda=1;AT24C02_delay();}这个函数却不能了,仅仅是SCL=1的位置不同,但是我觉的下面这个函数也满足了协议要求啊。[/mw_shl_code] |
|
相关推荐
5个回答
|
|
你第二个函数根据协议来确实也是OK的.
看看是不是原来的sda,scl时序影响到了stop. 比如原来如果sda为1,那么与你的第二个函数前面三句组合在一起,刚好就是一个IIC的start信号.不知道是不是这个原因. |
|
|
|
STM32中有IIC功能,为什么还要IO口去模拟呢?
|
|
|
|
那个很垃圾啊.
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
382 浏览 1 评论
250 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
230 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
590 浏览 2 评论
615 浏览 2 评论
1345浏览 9评论
15浏览 3评论
27浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
28浏览 3评论
31浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-19 13:45 , Processed in 0.788314 second(s), Total 75, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号