该错误提醒是说: 变量声明不允许出现在语句之后,对应图中就是说:FRESULT res ;该语句是声明变量;但是之前已经有了执行语句: NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(115200); //串口初始化为115200 解决方法: 调整执行语序为如下所示:
FRESULT res ; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2 uart_init(115200); //串口初始化为115200这种错误是没添加定时器的固件库文件,解决方法如下 :
如①所示的错误,说明是重复定义了,才会报错。此处的错误没有显示完全。实际上是如②所示的,所有定义的变量都是错误的。因为在本工程中,这些变量定义在了<LED_OSD.H>文件中,而该文件被如③所示的所有.h文件都调用,而如③所示的.c文件中都没有使用这些变量,所以才会出现“MULTIPLE PUBLIC DEFINITIONS”的错误。 修正,就是将如②所示的所有定义的变量定义在使用这些变量的那个头文件中,而不会被其他文件所调用。
说明 GetADCResult()函数未作声明 或未作外部声明, 所以无法给其他函数调用。 解决方法: 将叙述GetADCResult()在相应的头文件中进行声明,如果被外部调用,也可以加上extern关键字进行声明。