在stm32f103LED灯闪烁实验中,有需要设置include选型,为什么要进行此项设置?如果不设置程序能否编译通过
时间: 2024-05-30 22:13:21 浏览: 4
在stm32f103LED灯闪烁实验中,需要设置include选项是因为在该实验中需要调用STM32的库函数,而库函数的声明在对应的头文件中,通过设置include选项来将对应的头文件包含进来,让程序能够正确地调用库函数。
如果不进行include选项的设置,程序会无法找到头文件中对应的声明,从而导致编译失败。因此,如果不设置include选项,程序无法编译通过。
相关问题
stm32为什么需要设置include选型,为什么要进行此项设置?
STM32需要设置include选型,主要是为了能够正确引用头文件中定义的函数、变量和常量等。在编写代码时,我们通常会使用许多第三方库,这些库的头文件中包含了很多需要的函数、变量和常量等。如果不进行include选型,编译器就无法正确找到这些所需的定义,导致编译失败。
另外,进行include选型也可以保证代码的可读性和可维护性。通过明确指定需要引用的头文件,开发人员可以更快速、准确地阅读代码,从而减少开发过程中的错误和调试时间。同时,如果需要更换或升级库,只需要更改include选型即可,而不必修改整个代码文件。
stm32f103 LED闪烁实验
1. 硬件连接
将STM32F103单片机开发板上的一个LED灯连接到PA13引脚上。
2. 编写程序
使用Keil MDK软件编写程序,如下所示:
```
#include "stm32f10x.h"
void delay(uint32_t time) //延时函数
{
while(time--);
}
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA时钟
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO结构体
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //设置GPIOA的13号引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //时钟速度50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOA
while(1) //死循环
{
GPIO_SetBits(GPIOA, GPIO_Pin_13); //LED亮
delay(0xFFFFF); //延时
GPIO_ResetBits(GPIOA, GPIO_Pin_13); //LED灭
delay(0xFFFFF); //延时
}
}
```
3. 编译生成HEX文件
在Keil MDK软件中选择“Rebuild”即可编译生成HEX文件。
4. 下载HEX文件到STM32F103单片机开发板
使用ST-Link下载器将HEX文件下载到STM32F103单片机开发板中即可。
5. 实验结果
当程序下载到STM32F103单片机开发板中后,PA13引脚上的LED灯会不断地闪烁,每隔一段时间亮一次、灭一次。