Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何处理嵌入式系统中的标志变量

如何处理嵌入式系统中的标志变量
EN

Stack Overflow用户
提问于 2014-03-06 02:45:14
回答 2查看 1.8K关注 0票数 1

我正在嵌入式系统上做一个项目,在这个项目中,我在中断时更改一个标志变量'x_flag‘。此标志变量是全局的,并在其他源文件中访问,以检查事件的状态。

我知道处理全局变量的困难,但我想问您如何访问其他源文件中的“x_flag”的当前状态?

EN

回答 2

Stack Overflow用户

发布于 2014-03-06 02:50:46

公开变量的正确方法是在拥有变量的类中创建一个GetXFlagState()函数。这样,所有者类就能保持控制。

票数 4
EN

Stack Overflow用户

发布于 2014-03-06 03:08:55

在您的c-文件中,您可以定义如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
volatile int x_flag;

void myISRFunction(void)
{
    x_flag = 1;
}

在头文件中添加一个声明。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
extern volatile int x_flag;

然后,您只需要包含来自其他c-文件的头文件就可以访问x_flag

但是,在访问/修改标志时,您也应该禁用中断。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "myISR.h"

void someFunc()
{
  int local_x_flag;

  disableInterrupts();
  local_x_flag = x_flag;
  x_flag = 0;
  enableInterrupts();

  if ( local_x_flag )
    doSomething();
}

注意,如果标志实际上是一个硬件寄存器,您可能需要更加小心,因为禁用中断不会阻止硬件更改标志的值,并且显式清除它可能允许也可能不允许。在这种情况下,您需要仔细查看硬件文档,以确定哪些是安全的,哪些是不安全的(如果您正在与硬件工程师一起工作,请与设计它的人交谈)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22222087

复制
相关文章
如何使用Uchihash处理恶意软件中的嵌入式哈希
Uchihash是一款功能强大的实用工具,可以帮助广大研究人员处理和分析嵌入在恶意软件之中的各种哈希,以节省恶意软件分析所需的时间。
FB客服
2023/02/10
6390
如何使用Uchihash处理恶意软件中的嵌入式哈希
嵌入式系统中启动Hostapd
项目过程中需要添加AP热点的需求,自然会想用到hostapd,具体的不做分析,自行百度,这里主要分析下启动脚本
程序手艺人
2019/02/21
1.9K0
嵌入式系统中启动Hostapd
项目过程中需要添加AP热点的需求,自然会想用到hostapd,具体的不做分析,自行百度,这里主要分析下启动脚本
全栈程序员站长
2022/08/25
7370
volatile在嵌入式系统中的用法
今天参加一家公司的嵌入式C语言笔试,其中有道主观题谈到在嵌入式系统中volatile变量的用法。平时学习C语言没怎么用到,只用到过static和extern的变量,很惭愧没答上来。嵌入式C语言笔试经常会出现的题目有:
ccf19881030
2019/05/26
1.6K0
[ 物联网篇 ] 39 - 嵌入式系统中的字符编码
简述项目相关背景: 项目开发过程中,涉及多语言的字符显示,这个时候就必须针对各种字符编码有一定的了解
程序手艺人
2021/02/04
5620
你插件中的kubectl标志
这不是一个新的话题,不涉及hacking,但它是每个在设计kubectl插件的人都需要知道。
CNCF
2019/12/04
1.2K0
linux怎么查看系统环境变量路径,Linux系统中的环境变量该如何设置与查看
今天小编要跟大家分享的文章是关于Linux系统中的环境变量该如何设置与查看。大家都知道,在 Linux 系统中,有环境变量和 Shell
全栈程序员站长
2022/11/10
20.9K0
linux怎么查看系统环境变量路径,Linux系统中的环境变量该如何设置与查看
【分享】嵌入式Linux系统中的CPU控制
嵌入式Linux系统中,Linux直接管理所有CPU。默认情况下,系统的目标是提高吞吐率,而不是实时性。为了保证实时性,可以根据应用场景,对CPU实行更加精确的控制。常见的办法有,进程CPU隔离、CPU亲和、中断CPU亲和、进程优先级。
hankfu
2020/11/11
4K0
[ 物联网篇 ] 40 - 嵌入式系统中的ALSA音频通路
之前调试的音频通路遇到的延迟问题智能音箱中音频通路的回采(Ref信号),这次更多的精力在分析ALSA Lib -> ALSA Driver 的音频流
程序手艺人
2021/02/04
8550
数学建模中离散变量的处理——笔记二
原文主要内容是利用Titanic数据集讲解常用的机器学习算法,原数据集的主要任务是根据相关变量预测乘客是否可以存活(It is your job to predict if a passenger survived the sinking of the Titanic or not.)。这份数据集总共
用户7010445
2020/03/03
1.2K0
javascript中变量提升以及处理方法
今天我们来说说js中变量提升,for循环作用域在使用过程中遇到的一些问题,并解决。
小明爱学习
2020/02/20
9010
如何在单元测试中设置系统环境变量
有时我们需要通过读取系统环境变量来获取一些有用的信息,比如系统路径、临时目录等。在系统真正运行的时候我们可以通过启动命令行,如:java -Dxxx.xxx=xxxx …,或者使用System.setProperty(“xxx.xxx”, “xxx.xxx”)来设置系统环境变量。但在单元测试时如何设置这些系统环境变量又成了一个让人头疼的问题。有些小伙伴是在setUp方法里设置,比如:
Allen Cheng
2018/09/10
8.1K0
如何制作标识标志标签
在日常生活中,我们经常会见到一些标识标签,这些标签起到提醒警示的作用。条码软件也可以制作此类的标识标签,因为条码软件对打印设备和打印材质没有限制,所以可以直接连接打印设备进行打印。下面小编就用一个例子来实际演示一下操作方法。
神奇像素科技
2021/12/23
7870
如何制作标识标志标签
如何设计嵌入式系统?带你理解一个小型嵌入式操作系统的精髓
1 多任务机制 其实在单一CPU 的情况下,是不存在真正的多任务机制的,存在的只有不同的任务轮流使用CPU,所以本质上还是单任务的。但由于CPU执行速度非常快,加上任务切换十分频繁并且切换的很快,所以我们感觉好像有很多任务同时在运行一样。这就是所谓的多任务机制。 实时系统的特征是延时可预测,能够在一个规定的时间内(通常是 ms 级别的)对某些信号做出反应。 2 任务的状态 任务有下面的特性:任务并不是随时都可以运行的,而一个已经运行的任务并不能保证一直占有 CPU 直到运行完。一般有就绪态,运行态,挂起态等
刘盼
2018/03/16
1.4K0
如何设计嵌入式系统?带你理解一个小型嵌入式操作系统的精髓
嵌入式Linux系统-升级包中的脚本
脚本在Linux系统中具有很大的作用,在嵌入式Linux系统里,同样具有很大 的作用,前面写过启动预留脚本、U盘自动运行脚本,今天介绍的是升级包中的脚本。
fensnote
2022/03/28
1.1K0
python处理xps文件_如何在Windows 10系统中处理XPS文件
XPS(XML Paper Specification)文件是Microsoft的Adobe PDF文件的竞争对手。也许这种类型的文件不像PDF那样受欢迎,但了解XPS及其工作方式可能会有所帮助。
全栈程序员站长
2022/08/23
4.1K0
Python中如何定义变量?定义变量的规则是什么?
上一篇文章讲述了变量的概念和作用,下面讲解的是变量的第二个知识点 - 定义变量和定义变量名的规则,下一篇在讲解变量的使用。
python自学网
2022/02/24
3.4K0
[转]嵌入式系统
嵌入式系统由:嵌入式微处理器、外围硬件设备、嵌入式操作系统(可选)以及应用软件系统等四个部分组成。
闪电gogogo
2019/11/14
1.7K0
点击加载更多

相似问题

处理嵌入式系统中的重置

20

处理嵌入式系统中的堆栈溢出

40

嵌入式系统中的错误处理

10

嵌入式系统中的多变量映射

25

一个DocuSign嵌入式标志中的多个标志

110
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文