中断赋值的全局变量为啥在主函数调用不了

2019-07-15 08:20发布

#include "iom16v.h"#include "macros.h"#include "MATH.H"
#include "jisuan.h"#include "xianshi.h"
float a,b,c,time=0;char table[]="000";int t1,t2;
void main(){     TC0_init();   int_init();   IO_Init();      a=table[0];   if(table[0]>40)   while(1)   {   Number_Show(table[0],a);    }}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
你还在吗a
1楼-- · 2019-07-15 17:59
人中狼 发表于 2018-5-29 19:31
应该把中断部分的程序也贴出来

#pragma interrupt_handler INT0_Ir:2
float INT0_Ir()//接放置在x0的传感(0.17)  d2
{   
   GICR&=0xA0;
   table[0]=time;
   return table[0];
}
你还在吗a
2楼-- · 2019-07-15 20:38
一叶倾城wwq 发表于 2018-5-30 11:11
楼主中断所在文件是否声明外来变量了?用extern解决

#pragma interrupt_handler INT0_Ir:2
float INT0_Ir()//接放置在x0的传感(0.17)  d2
{   
   GICR&=0xA0;
   table[0]=time;
   return table[0];
}
是否需要在中断里定义变量,你能详细说一下吗??
人中狼
3楼-- · 2019-07-15 23:36
float a,b,c,time=0;
char table[]="000";
time是浮点数,table[]是字符,查查C语言编程的资料,table[0]=time;浮点数应该无法赋值给字符型变量的
你还在吗a
4楼-- · 2019-07-16 00:24
 精彩回答 2  元偷偷看……
你还在吗a
5楼-- · 2019-07-16 00:27
人中狼 发表于 2018-6-4 11:54
float a,b,c,time=0;
char table[]="000";
time是浮点数,table[]是字符,查查C语言编程的资料,table[0]=time;浮点数应该无法赋值给字符型变量的

aaa=table[1]-table[0];
Number_Show(aaa,table[1]-table[0]);
应该显示两个相同的数,但实际显示的是:0和-6 15.png

其中table[0]=12,table[1]=6;
人中狼
6楼-- · 2019-07-16 00:39
这需要看你的显示程序,浮点数的显示整型数的显示计算应该会不一样

一周热门 更多>