我用STM32F103VBT6做了个小东西,在使用中发现了一个小问题,和大家共享下,看谁有没有类似的经历。
这个项目里用到了LCD和IIC,我开始用GPIOB控制LCD没什么问题,后来才加入IIC(IIC用的软件模拟,也是用GPIOB,没用STM32的硬件IIC)的。IIC单独调试也没问题。但是合起来以后,发现IIC的IO口初始化以后,LCD就不会显示了。
经反复调试后发现,在IIC里面把打开GPIOB时钟的语句删掉,IIC和LCD就都正常了。这就是说,GPIOB的时钟不能被开两次,开两次似乎就是又关掉了。这是STM32的固有设置吗? |