这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 分享一个诡异的问题

共8条 1/1 1 跳转至

分享一个诡异的问题

高工
2016-03-15 23:48:40     打赏

       用STM32F103ZET6来做项目,已经经过各种测试没问题后正常出货一段时间了。最近需要添加一个功能,这部分功能添加只是改了串口接收以及显示部分的东西,并没有动硬件IIC方面的代码。结果烧了新的程序后,测试期间多块板子IIC那部分有问题。用JLINK调试,发现硬件IIC使能后没有进入事件中断或者是错误中断。烧回以前的程序又可以正常运行。难道是程序有问题?...又调试了两天没有半点效果。这款产品有三种机箱,将同一张板子放入不同的机箱里,有几个正常有的不正常..瞬间就懵了...

   纳闷了很久,硬件工程师用风枪吹了一下IIC通信有问题的芯片,趁热试试,又正常工作了....过了会,等到它冷却下来,又不行了....

  




关键词: 分享     一个     诡异     问题    

院士
2016-03-15 23:52:33     打赏
2楼

这个IIC接口在ST的官方已经给出来解决方案了。

其中重要一条便是,要将IIC硬件中断的优先级设定为最高。


高工
2016-03-16 00:57:55     打赏
3楼
顶一个

专家
2016-03-16 06:05:04     打赏
4楼
怪异,

高工
2016-03-16 07:34:23     打赏
5楼
奇诡

专家
2016-03-18 10:58:09     打赏
6楼
好恐怖

院士
2016-03-19 08:36:31     打赏
7楼

我想Keil5与Keil4的不同,可能在于编译器的优化程度不同。

例如,某个阻塞延迟函数,在不同的编译环境下可能产生不同时间的延迟,也许会导致处理器的资源调配出现不同,从而影响了整个系统。

可以尝试将I2C部分代码不做优化处理

高工
2016-04-15 15:39:59     打赏
8楼
难道被编译器自动优化了,楼主最后咋解决的

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]