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

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-16 06:31
人中狼 发表于 2018-6-4 12:58
这需要看你的显示程序,浮点数的显示整型数的显示计算应该会不一样

我把浮点型保留一位小数进过处理得到三位个位整形进行显示,但他的aaa就是不等于table[1]-table[0],
我测试的结果就是中断调用过的数组table不能进行计算,也不能进行赋值,请问如何解决???
一叶倾城wwq
2楼-- · 2019-07-16 09:23
你还在吗a 发表于 2018-6-4 11:33
#pragma interrupt_handler INT0_Ir:2
float INT0_Ir()//接放置在x0的传感(0.17)  d2
{   

唉,楼主犯了一个致命错误,形参不能是数组,建议用指针传递;
至于回复的“在中断里定义变量”就更说不通了,你的MCU很小么?建议使用全局变量

一周热门 更多>