你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

一个因疏忽造成的BUG

[复制链接]
老牛洋车 提问时间:2026-11-15 10:44 / 未解决
在进行日历实验的过程中,因各种原因,单片机中的日期与当前的日期经常会出现不一致的现象,免不了要进行更新日期的操作。我采取是的通过串口发送DYYYYMMDDhhmmss格式的字符串,首字符‘D’表示之后的是日期时间信息,串口中断处理中收到这个信息则进行更新日期的操作。代码截图如下:

UART_48.png
代码看起来是没有问题的,串口中断中也能识别出数组首字符的值,但就是不执行后面更新日期的代码。我考虑会不会是在中断回调函数中执行了过多的代码引起的,于是便设置了一个更新标志,在中断回调函数中只负责修改标志,然后再到主循环里通过识别标志来执行:
UART_49.png
测试结果仍然没有达到目的,这个标志的值并未改变,因此日期也没有得到更新。
后来转变思路,直接在主循环里对接收缓存区首字符进行判断并处理更新,这才达到了目的:
UART_50.png
赞 收藏 评论0 发布时间:2026-11-15 10:44

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版