![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
各类奇奇怪怪的BUG
三日凌空
迷茫的时候就学习吧
展开
-
软件I2C读写24cl64异常 可读不可写
3月末在调试一个eeprom芯片24lc64,我们要用软件模拟I2C控制它,但遇到了奇特的现象。用我们之前写的I2C驱动去控制它时,不可写入,但是可以读取。为了控制它,我们用硬件I2C去对它进行操作,可读写,证明芯片没有坏。经过示波器的帮助,发现它在写入的时序中有ack,但最后总是存不进去数据。在与公司内的一位大佬长时间的共同调试后,发现问题在写时序的最后:发出停止信号需要拉高时钟线再给数据线一个上升沿。我们的程序也是这么写的,但是,拉高时钟线和拉低数据线的先后顺序影响了24lc64的判断,让它以原创 2021-04-21 14:37:35 · 2012 阅读 · 8 评论 -
STM32F105 PB3 无法控制的原因:JTAG功能占用,没有重映射;KEIL5自身的问题
这周在调试STM32F105,其中有个功能是用PB3做控制,要能够输出高低电平。刚开始就出现了问题,PB3始终无法被设置为低电平,找了大佬来帮忙,大佬一眼看出是JTAG占用,需要进行重映射于是在初始化过程中加入以下代码,禁用JTAG。__HAL_RCC_AFIO_CLK_ENABLE(); //使能AFIO时钟__HAL_AFIO_REMAP_SWJ_NOJTAG(); //使能SWJ接口 禁用JTAG接口结果是PB3依旧无法控制,但在大佬的电脑上写个程序原创 2020-09-11 08:09:08 · 1492 阅读 · 5 评论