向各位高手请教一个问题 STM32L051K8U6在高温时(约60度以上)出现不工作现象,找不到头绪,功能很简单。
测试设备:烘箱,PC,USB转UART(TTL),USB HUB
MCU固件功能:使用内部晶振(2.097MHz),I2C时钟100KHz,UART波特率9600, I2C每200ms读取传感器数据,UART每5S向外发送数据。
高低温测试条件: 在烘箱中25℃ 维持30分钟,后每1分钟升温1℃ 升到85℃ 维持110分钟,开始降温,每分钟降1℃ ,降到-40℃ ,维持110分钟。升温到25℃ ,持续30分钟。再次重复以上循环。
问题现象:在高温时(约60度以上)出现不工作现象,串口不向外送数据;温度降下来又恢复向外发送数据。我们可以确认这期间MCU没有reset。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
I2C速率多少?可以降速试试。
100k的时钟
用IO模拟试试,排除下硬件I2C问题。
具体是这样子的:串口向外发送数据需要判断一个IO的状态(我们的产品是个模块,这个模块放到别人的板子上工作,这里的IO口接到别人的板子上),当此IO判断是高电平时,就不向外发送数据,我们的模块是单独测试,固件里面没有把这个IO拉低,可能在高温时,这个IO的电平异常处于高电平,造成串口不向外发送数据了。
一周热门 更多>