在stm32systick学习中,systick.h中写了如下代码:
#ifndef SYSTICK_H
#define SYSTICK_H
#include"stm32f10x.h"
unsigned int TimingDelay;
void TimingDelay_Decrement(void);
void Delay(unsigned int value);
#endif
发现报错:Error: L6200E: Symbol TimingDelay multiply defined (by int.o and main.o).等
原来是因为定义了变量TimingDelay,导致报错。
将该变量定义在main.c文件中,并将systick.h文件中的语句改为
extern unsigned int TimingDelay;即可编译通过
为什么捏??