关于学习b站江协科技stm32入门教程时遇到的一些小问题及解决办法

在学习2-2的课程时使用库函数RCC_APB2PeriphClockCmd时提示undefined即该函数未被定义时的一些解决办法(亲测有效):

1.务必保证工程栏里的Start,Library和User项和include paths中导入的顺序一样,见下图:

2.一般在保证第一步并且导入的库文件都是正确的情况下打出RCC时在补全项能够找到RCC_APB2PeriphClockCmd函数,但是右击该函数选择go to the definition时仍然显示未定义,那么需要将提示的文件从项目栏里移除再重新导入一次再编译便可成功(忘记给错误提示截图了)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在使用STM32的库函数,需要先在工程中添加相应的库文件和头文件,并在代码中引入相应的头文件。 以使用GPIO口控制为例,以下是一个简单的示例: ```c #include "stm32f4xx.h" // 引入STM32F4xx系列的头文件 int main(void) { GPIO_InitTypeDef GPIO_InitStructure; // 定义GPIO初始化结构体变量 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // 使能GPIOA钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // 配置GPIOA的第0个引脚 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; // 设置GPIOA的第0个引脚为输出模式 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // 设置GPIOA的第0个引脚为推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; // 设置GPIOA的输出速度为100MHz GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; // 设置GPIOA的上下拉电阻为无 GPIO_Init(GPIOA, &GPIO_InitStructure); // 初始化GPIOA的第0个引脚 while(1) { GPIO_SetBits(GPIOA, GPIO_Pin_0); // 设置GPIOA的第0个引脚为高电平 Delay(500000); // 延 GPIO_ResetBits(GPIOA, GPIO_Pin_0); // 设置GPIOA的第0个引脚为低电平 Delay(500000); // 延 } } ``` 在上述代码中,我们首先引入了STM32F4xx系列的头文件。然后定义了一个GPIO初始化结构体变量,并使用`RCC_AHB1PeriphClockCmd`函数使能了GPIOA钟。接着,配置了GPIOA的第0个引脚,并初始化了GPIOA的第0个引脚。最后,我们使用`GPIO_SetBits`和`GPIO_ResetBits`函数分别设置和复位GPIOA的第0个引脚,从而控制GPIO口输出高低电平。 需要注意的是,以上代码中的`Delay`函数需要自行实现,可以使用循环来实现一定的延。此外,如果需要使用其他模块或功能,需要根据需要引入相应的头文件并进行相应的配置和初始化。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值