完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 ben111 于 2014-9-29 11:59 编辑
最近调试I2C模块,正常通讯没问题,可是如果人为短路SCL和SDA线,发现I2C模块死了,怎么也恢复不了。 死机后我的操作有以下几种: 1、复位SWRST,重新发送START--->调试结果,START,发送不了。 2、复位SWRST,在SDA口做普通的IO发送9个脉冲,开启I2C,重新发送START--->调试结果,START,发送不了。 3、关闭I2C,在SDA口做普通的IO发送9个脉冲,开启I2C,重新发送START---->调试结果,SDA口无法发送脉冲,START,发送不了。 4、先发STOP,然后关闭I2C,SDA口做普通IO发送9个脉冲,开启I2C,重新发送START---->调试结果,SDA口无法发送脉冲,START,发送不了。 请问,你们遇到I2C模块死机,是怎么处理的? |
|
相关推荐
4个回答
|
|
同问,顶起,楼主分享快乐
|
|
|
|
加看门狗啊!
//看门狗配置 void IWDG_Init(void) { IWDG_KR = 0xCC; //启动IWDG IWDG_KR = 0x55; //解除 PR 及 RLR 的写保护 IWDG_RLR = 0xff; //看门狗计数器重装载数值 IWDG_PR = 0x06; //分频系数为256,最长超时时间为:1.02S IWDG_KR = 0xAA; //刷新IDDG,避免产生看门狗复位,同时恢复 PR 及 RLR 的写保护状态 } main() { while(1) { IWDG_KR = 0xAA; //刷新IDDG,避免产生看门狗复位 . . } } |
|
|
|
感谢分享,谢谢!!!!!!!!!!!!
|
|
|
|
学习了!!谢谢意 真的实用
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
621 浏览 1 评论
1962 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1068 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1487 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1924 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 11:30 , Processed in 0.675470 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号