全球热消息:RTOS不同任务共享全局变量问题

扫描关注一起学嵌入式,一起学习,一起成长

本期话题

群友在群里咨询的一个问题:Freertos 里高优先级的任务中改变了全局变量值,低优先级的任务中循环等待值的改变;为何高优先级任务里的值改变后,低优先级循环没有结束并向下执行呢?


(资料图片仅供参考)

高优先级任务中的代码,修改全局变量:

if(1000 <= Complete){update_flag = 1;printf("update_flag = [%d]\n”, update_flag);}vTaskDelay(10);

低优先级任务中的代码,判断全局变量:

while(!update_flag); // 判断......

聊一聊

如果你能想到关键词 volatile,那么恭喜你,你已经真正理解了这个关键词。

之前分享过相关的文章:嵌入式 C 语言经常提到的关键词 volatile

告诉这位小伙伴在全局变量定义的时候,加上 volatile。问题得到解决。好了,万事大吉。

显然,为了证实我们的猜想,我们进行逐步分析。

这个项目开启了编译一级优化。这样就解释通了,编译器开启了优化,并且变量定义没有添加关键词 volatile 。这两点组合起来导致问题发生。

while(!update_flag){printf("update_flag = [%d]\n”, update_flag);vTaskDelay(10);}

嵌入式 C 语言经常提到的关键词 volatile

【C语言】彻底搞懂内存屏障与volatile

觉得文章不错,点击“分享”、“赞”、“在看” 呗!

标签:

x 广告
环球今头条!投资新风口!地产、服装等15家企业跨界储能领域,新入者能否吃到“蛋糕”?

本文来源:时代财经作者:雨辰储能如此多娇,引无数英雄竞折腰。随着低

光谱资讯经典游戏《三国立志传3》Steam页面上线 7月20日发售

光谱资讯经典游戏《三国立志传3》Steam页面上线7月20日发售介绍了  

广西增开荔枝专线航班助“荔”运输 抢“鲜”出发_环球今日讯

为做好荔枝季节空运运输保障工作,在南宁机场支持下,广西民航产业发展

环球速讯:中国神秘湖泊,湖底藏着一座2000年的古城,真相令人好奇!

中国神秘湖泊,湖底藏着一座2000年的古城,真相令人好奇!,随着现在旅

每日热文:西安碑林:“非遗”传统文化搭配“AI”人工智能让禁毒宣传创意十足

6月20日,在第36个国际禁毒日来临之际,西安市碑林区禁毒办联合文化和

环球热消息:“乒”出新干劲 建功新时代 第二届全市老干部乒乓球比赛圆满收官

“乒”出新干劲建功新时代第二届全市老干部乒乓球比赛圆满收官,乒乓球,

甘肃省养老金上调方案2023公布了吗 甘肃省调整2023退休养老金方案细则公布时间|视焦点讯

对于普通老百姓而言,养老金是退休老年人重要的经济来源。因此,我国每

当前消息!兴义市向阳路小学民航校区开展教职工消防安全知识培训活动

  为落实“安全生产月”活动,做到“人人讲安全,个个会应急”,提高

工业消泡剂商品报价动态(2023-06-22) 世界即时看

交易商品牌 产地交货地最新报价工业消泡剂 固含量15%PH:6-9河南顺之

快讯|端午假期有持续暴雨,曹慧泉督导防汛工作

株洲日报讯(全媒体记者 胡文洁)端午假期第一天,端阳水如期而至。今

x 广告

Copyright ©  2015-2023 亚洲都市网版权所有  备案号:京ICP备2021034106号-51   联系邮箱:5 516 538 @qq.com