统计
  • 建站日期:2021-03-10
  • 文章总数:8 篇
  • 评论总数:1 条
  • 分类总数:6 个
  • 最后更新:12月30日
文章 踩坑记录

自己的踩坑记录-数组越界,未发生重启,修改其他地方导致了越界重启

emer
首页 踩坑记录 正文
广告

公司开发的一款温湿度检测仪,之前采用ESP8266模组开发的,现在准备降低成本,选用的ESP8684单芯片方案,在ESP8684方案上开发
因客户需求变更,在MQTT处理函数中,去掉一段代码,结果程序一直发生重启现象,以为是MQTT处理任务中的问题,排查半天并未发现问题。最后调试其他任务,发现屏幕驱动任务取消创建后,重启消失

自己的踩坑记录-数组越界,未发生重启,修改其他地方导致了越界重启
-电子爱好者
-第1
张图片
通过输出参数,发现调用屏幕时间更新显示时,传递的周次出现问题,应该传递tm_wday,给传递成tm_yday

自己的踩坑记录-数组越界,未发生重启,修改其他地方导致了越界重启
-电子爱好者
-第2
张图片
但是这段代码都好久了,一直没发生重启,当然屏幕显示肯定是有问题,但是一直开发板写的,并未发现,代码也是复制的旧的进行修改的,最后把所有代码还原到之前不重启的状态,然后输出日志,发现运行正常,然后在当前代码下,增加日志输出tm_yday值,担心是MQTT任务导致时钟同步失败,所以tm_yday=0。但是就增加一行输出日志代码后,又开始继续重启

自己的踩坑记录-数组越界,未发生重启,修改其他地方导致了越界重启
-电子爱好者
-第3
张图片
可能是以前习惯了,一般数组越界,都会发生重启现场,能及时排查到问题,看来以后还是得多家容错的处理代码
哎,先在屏幕驱动程序内加上异常数据报错吧

收藏

扫描二维码,在手机上阅读

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

影视会员代理:掘金新机遇
« 上一篇
DLT645-1997/2007协议分析工具
下一篇 »

发表评论

HI ! 请登录
注册会员,享受下载全站资源特权。

最新评论