单片机的全局变量和中断问题,大神进

是这样,我想定义一个变量;.然后在主函数里把值改变,要修改的值在中断里能使用。我该怎么弄。大神帮忙解答下,谢谢了如我在全局变量里定义charb;主函数修改b值b='A';... 是这样,我想定义一个变量;.然后在主函数里把值改变,要修改的值在中断里能使用。我该怎么弄。大神帮忙解答下,谢谢了
如 我在全局变量里定义 char b;
主函数 修改b 值 b='A';
中断里面 的b 值会是‘A' 吗? 如果不行该这么弄?
展开
 我来答
健云小C
2014-09-15 · 超过60用户采纳过TA的回答
知道答主
回答量:130
采纳率:100%
帮助的人:57.3万
展开全部
简单点:在需要使用a的文件里面,在最前面加一行:
extern char a;
在那个文件里面就可以直接用了。
如果多个文件会用到,就多个文件都写这么一行。

也可以了解一下头文件。
新建main.h, 内容如下:
#ifndef _MAIN_H_
#define _MAIN_H_
extern char a;
#endif _MAIN_H_

之后在需要用到a变量的文件内在最前面
#include "main.h"
请采纳答案,支持我一下。
浙江启扬智能科技有限公司
2023-06-12 广告
在嵌入式开发中,建立交叉开发环境可以提高开发效率和代码质量。以下是建立交叉开发环境的一些原因:1. 硬件资源限制:嵌入式系统的硬件资源,如处理器主频、内存容量等,相对于PC机来说较为有限。利用PC机进行开发可以利用更快的硬件设备,提高开发效... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
一万光年MEGn0
2014-09-15 · TA获得超过3713个赞
知道大有可为答主
回答量:4602
采纳率:67%
帮助的人:1155万
展开全部
变量的定义放在主函数main()的外面 就可以了了

char b;

main() //主函数
{
b='a';
}

void int_t0(void) interrupt 1 //中断函数
{
b ='c'; // 这里使用的b的值就是主函数的值
}
追问
我是想达成这样的效果,这样可以吗
char b;

main() //主函数
{
b='a';
}

void int_t0(void) interrupt 1 //中断函数
{
if(b=='a') //主函数让 b='a',然后能用在这
{
。。。。。。//这里能执行
}
}
追答
可以的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式