本帖最后由 877049204 于 2018-6-28 10:15 编辑
以前只要不出现error,我都是忽略警告的。现在为了追求完美点,想好好看看为什么会出现警告。
首先第一种警告,有8个类似这样的:
..\HARDWARE\AD9837.h(46): warning: #1295-D: Deprecated declaration AD9837_GPIO_Config - give arg types
原因在于我这些函数没有形参,而我声明的时候没有加void:
void AD9837_GPIO_Config();
应该改成:
void AD9837_GPIO_Config(void);
第二种警告:"STM32F40_41xxx" 的重复定义:
..\USER\stm32f4xx.h(89): warning: #47-D: incompatible redefinition of macro "STM32F40_41xxx"
双击警告进入 stm32f4xx.h
可以看到在该文件中已经定义过STM32F40_41xxx :
#ifdef STM32F40XX
#define STM32F40_41xxx
#endif /* STM32F40XX */
问题出在编译器设置上,进入options for targrt,删除下框中的:STM32F40_41xxx
完美的解决keil警告问题。
|