有没有知道怎么回事,明明已经包含头文件了,编译也能通过,但是显示隐式声明在C99中无效


以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
根据您提供的代码段和错误信息,这里有几个可能的问题和解决方案:
设备头文件包含:从您提供的代码段来看,您已经包含了stm32f4xx.h,这是正确的。但是,您需要确保这个文件确实存在于您的项目中,并且路径正确。
函数使用错误:在第二张图片中,RCC_AHB1PeriphClockCmd函数的调用出现了拼写错误,应该是RCC_AHB1PeriphClockCmd而不是RCC_AHBiPeriphClockCmd。另外,错误信息提示“use of undeclared identifier”,这意味着编译器没有找到这个函数的声明。这可能是因为:
结构体定义和初始化:GPIO_InitTypeDef结构体的定义看起来是正确的,但是初始化时存在一些拼写错误,例如GPIO_InitStructure.GPIo_Mode=GPIOModeOUT中的GPIo_Mode应该是GPIO_Mode。
成员赋值错误:在GPIO_InitTypeDef结构体的成员赋值中,有一些拼写错误,例如GPIO_InitTypeDef应该是GPIO_InitStructure,GPIO_Pin9 I GPIO.Pin 1Q应该是GPIO_Pin_9 | GPIO_Pin_10。
函数使用:GPIO_Init和GPIO_SetBits函数的使用看起来是正确的,但是需要确保它们在头文件中已经被正确声明。
C99标准配置:错误信息提示“implicit declaration of function 'RcC_AHBiPeriphclockCmd' is invalid in c99”,这意味着您的项目可能没有配置为使用C99标准,或者相关的函数声明没有遵循C99的要求。您可以在编译器设置中检查是否启用了C99标准,并确保所有函数都有显式的原型声明。
参考链接:
请根据这些建议检查您的代码和项目设置,并进行相应的修正。如果问题仍然存在,您可以提供更多的上下文信息,我会尽力提供进一步的帮助。