完善资料让更多小伙伴认识你,还能领取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,避免产生看门狗复位 . . } } |
|
|
|
感谢分享,谢谢!!!!!!!!!!!!
|
|
|
|
学习了!!谢谢意 真的实用
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32串口接受中断使用C++STL中的queue导致所有中断失效
3507 浏览 1 评论
2717 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1289 浏览 0 评论
3571 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
3375 浏览 4 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-2 15:43 , Processed in 0.436391 second(s), Total 44, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号