考虑到我的应用程序中有多个“.c”源文件。
现在我的问题是,在这种情况下,我需要将
编辑1:
我的应用程序是16位微控制器(RL78),我没有使用任何操作系统。
编辑2:
正如一些人评论的那样,多线程根本没有出现在我的脑海中。我为我的应用程序编写了一个简单的非抢占式轮询调度程序。我不知道多线程环境中什么使变量成为易失性变量。它与我的环境有什么不同?如果有人能更详细地阐述它,那将是一个很大的帮助。
Module1.c
static char status_variable = 0;
Modify1()
{
status_variable = 'a';
}
Modify2()
{
status_variable = 'x';
}
char GetStatus()
{
return status_variable;
}
根据事件(非通过ISR)可以从其他.c文件调用Modify
函数。
Module2.C
TakeAction()
{
if(GetStatus() == 'a')
{
//do something
}
else
{
//do something
}
}
现在我的问题是,在这种情况下,我需要将
status_variable
声明为volatile
吗?编辑1:
我的应用程序是16位微控制器(RL78),我没有使用任何操作系统。
编辑2:
正如一些人评论的那样,多线程根本没有出现在我的脑海中。我为我的应用程序编写了一个简单的非抢占式轮询调度程序。我不知道多线程环境中什么使变量成为易失性变量。它与我的环境有什么不同?如果有人能更详细地阐述它,那将是一个很大的帮助。