zigui 发表于 2018-5-11 20:08:32

中断里调用外部函数编译出错,请大侠帮看看

本帖最后由 zigui 于 2018-5-11 20:48 编辑

STM32CubeMX + Keil uVision5
DAC的函数在main.c里调用是正常的,在中断里调用编译出错,提示hdac没有声明,实际该C文件已经调用了DAC相关的头文件,不懂问题出在哪?中断回调里试过调用外部延时函数都是正常的,就这个DAC函数调用编译出错

__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
                if(GPIO_Pin==GPIO_PIN_15){                //KEY中断
                              HAL_DAC_Start(&hdac, DAC_CHANNEL_2);      
                              HAL_DAC_SetValue(&hdac, DAC_CHANNEL_2, DAC_ALIGN_12B_R, 0);
                }
}


wenyangzeng 发表于 2018-5-11 22:19:01

STM32F4xx_it.c里:
extern DAC_HandleTypeDef    hdac;//(参考main.c)

litter学生 发表于 2018-5-11 22:19:19

一般不直接在弱函数里开发,重新在别的文件写一个同名函数试试呢

bargagebaobei 发表于 2018-5-12 09:42:10

hdac在DAC相关的头文件中定义时候加extern

zigui 发表于 2018-5-12 12:30:57

wenyangzeng 发表于 2018-5-11 22:19
STM32F4xx_it.c里:
extern DAC_HandleTypeDef    hdac;//(参考main.c)

谢谢,按你的方法解决了
页: [1]
查看完整版本: 中断里调用外部函数编译出错,请大侠帮看看