关于程序中参数传递的问题,请大家知道一下小弟。谢谢

2019-08-13 19:50发布

我在主程序中通过rct6的ad采集数据,采集到的数据传给e,我想通过外部中断控制按键打印e的值。
定义为:
                   extern float e,D,D1,D2;
主程序中:
                 adcx2=Get_Adc2(ADC_Channel_3);  //获取ADC的值
                D2=(float)adcx2*(3.3/4096);     //将获取的值转换为电压值

                e=(adcx2+(0.01*D2))/(0.00525);

子程序中:
                   void EXTI15_10_IRQHandler(void)
                  {
                       delay_ms(10);    //消抖                         
                        if(KEY1==0)       

                        printf(" e=%f",e);
                 }
程序编译报错,说子程序中e的值未定义。请各位大神帮助一下,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
HR GoGo
1楼-- · 2019-08-14 01:01
谢谢 技术支持 找到问题了。
dozm
2楼-- · 2019-08-14 03:26
float e;第一次定义,在别的C文件引用的地方加extern float e;另外printf还是不要放在中断里处理比较好。
HR GoGo
3楼-- · 2019-08-14 03:39
 精彩回答 2  元偷偷看……
dozm
4楼-- · 2019-08-14 05:28
printf(" e=%f",e); 放到主函数里去打印输出。
HR GoGo
5楼-- · 2019-08-14 10:51
dozm 发表于 2017-10-16 10:19
printf(" e=%f",e); 放到主函数里去打印输出。

那如何起到按键控制的效果呢?加个标志位?会对实时信号有影响么?
dozm
6楼-- · 2019-08-14 14:57
用标志位,按键对实时性没什么要求。

一周热门 更多>