一、问题描述
编译程序后,出现错误”PWM\PWM.axf: Error: L6200E: Symbol hadc1 multiply defined (by adc.o and main.o).“
二、问题解决
1.探求原因
错误提示是变量hadc1在main.c和adc.c中重复定义,但是我在main.c和adc.c中没有定义变量hadc1,这两个文件都include adc.h文件,我在adc.h文中定义了hadc1。这就是问题所在,main.c和adc.c都include了adc.h文件,相当于这两个文件都把hadc1定义了一遍。
2.解决方法
在main.c和adc.c其中一个文件中定义hadc1变量,在adc.h中声明hadc1。
- adc.c
#include "adc.h"
ADC_HandleTypeDef hadc1
- adc.h
extern