User\delay.c(5): error: #247: function "delay_init" has already been defined void delay_init(void) User\delay.c(10): error: #247: function "delay_ms" has already been defined void delay_ms(uint16_t ms) User\delay.c(16): error: #247: function "SysTick_Handler" has already been defined
时间: 2024-01-24 10:18:11 浏览: 145
这些错误提示是因为你的代码中出现了重复定义的函数。可能是因为你在多个文件中包含了同一个函数的定义,或者同一个函数在同一个文件中出现了多次定义。
解决方法是找到重复定义的函数,并将其删除或注释掉。你可以使用IDE的查找功能来找到所有包含该函数定义的文件,逐一排除重复定义。
另外,如果你在多个源文件中使用了同名的全局变量,也会导致类似的错误。此时你可以在其中一个文件中使用extern关键字声明该变量,而在其他文件中直接引用即可。
相关问题
User\delay.c(5): error: #247: function "delay_init" has already been defined void delay_init(void)怎么解决
这个错误提示是因为你在代码中定义了多个名字相同的函数 "delay_init",导致编译器无法判断要使用哪个函数。解决方法是移除其中一个重复的函数定义。
你可以按照以下步骤来修改代码:
1. 在代码中搜索所有名字为 "delay_init" 的函数定义,确认是否有多个相同的定义。
2. 如果有多个相同的定义,选择其中一个保留,将其他重复的函数定义删除。
3. 如果你不确定哪个函数定义是正确的,可以检查函数的实现代码,看看哪一个与你的需求更加匹配。
4. 确认修改后,重新编译代码,错误提示应该就会消失了。
希望这个解决方案能够帮到你。
User\delay.c(5): error: #247: function "delay_init" has already been defined
这个错误的意思是你在代码中重复定义了名为 "delay_init" 的函数。这可能是因为你在同一个文件或不同的文件中写了两个相同名称的函数。
为了解决这个问题,你需要检查代码中是否有重复定义函数的情况。如果是同一个文件中的重复定义,你可以将其中一个删除。如果是不同的文件中的重复定义,你需要确保在一个文件中只有一个定义,并且在其他文件中使用函数声明。例如,在其他文件中使用 `extern void delay_init(void);` 来声明该函数,而不是重复地定义它。
阅读全文