创建keil工程并点亮STM32板子的LED灯(详解)

打开之前创建的工程,如下图所示(keil工程的创建在之前的文章中有,不了解的同学可以翻一下上一篇文章。)


(上图是已经建立完成的工程)

然后,再次打开我们之前下载的对应开发板版本的例程包中的点亮LED灯的例程

(路径为:en.stsw-stm32077 \STM32L1xx_StdPeriph_Lib_V1.3.1 \project\STM32L1xx_StdPeriph_Examples \GPIO \IOToggle)

找到mian.c文件打开,全选复制里面的内容


再回到我们之前已经创建完毕的工程中,打开mian.c文件清空,并将GPIO文件中的main.c里面的内容粘贴到我们工程的mian.c中。

此时可以看到有很多错误存在,下面就要修改程序了(因为例程中的很多参数的定义并不是准确对应到每一个板子的ÿ

  • 14
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个简单的Keil程序,用于点亮STM32上的LED: ``` #include "stm32f10x.h" int main(void) { // 使能GPIOC时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 配置PC13为推挽输出模式 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); while (1) { // 点亮LED GPIO_SetBits(GPIOC, GPIO_Pin_13); // 延时一段时间 for (int i = ; i < 100000; i++); // 熄灭LED GPIO_ResetBits(GPIOC, GPIO_Pin_13); // 延时一段时间 for (int i = ; i < 100000; i++); } } ``` 这个程序使用了STM32的GPIO模块来控制PC13引脚,将其配置为推挽输出模式,并通过循环来不断地点亮和熄灭LED。程序中的延时可以通过调整循环次数来控制。 ### 回答2: 在Keil点亮LED需要编写STM32芯片的程序。具体步骤如下: 第一步,创建Keil工程。在Keil中选择File -> New Project,在弹出的New Project窗口中选择对应的芯片型号,设置好工程名和存储路径,点击OK按钮即可完成工程创建。 第二步,进行芯片配置。打开Project -> Options for Target,在弹出的Options for Target窗口中选择C/C++ Tab。在Defines中添加目标芯片的宏定义,例如:STM32F103VET6。在然后在Debug中选择ST-Link Debugger,点击OK即可完成芯片配置。 第三步,编写程序。打开main.c文件,编写以下代码: /* Include头文件 */ #include "stm32f10x.h" int main(void) { /* 设置RCC时钟 */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); /* GPIOB模式设置 */ GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); /* 设置GPIOB.5口为高电平,点亮LED */ GPIO_SetBits(GPIOB, GPIO_Pin_5); while (1) { } } 第四步,编译程序。在Keil中选择Build -> Rebuild all target files,编译程序。 第五步,下载程序。将单片机与电脑连接,点击Flash -> Download,下载程序到单片机中。 执行完以上步骤后,程序就可以点亮单片机上的LED了。当然,这只是最基础的示例程序,后续可以根据需求进行修改和扩展。 ### 回答3: KEIL仍然是嵌入式开发领域最为普及的编译器软件之一,它支持众多的芯片型号,如STM32系列是KEIL支持的芯片型号之一。如何在KEIL中编写STM32单片机点亮LED程序实现简单的输出? 首先,确保你已经安装好编译器、串口驱动等相关软件和硬件。然后,进入keil5软件,输入以下代码段。 ``` #include <stm32f10x.h> //调用芯片相关的头文件 GPIO_InitTypeDef GPIO_InitStructure; //GPIO初始化结构体 void Delay(unsigned int nCount); //延时函数 int main(void) //主函数 { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA的时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //配置要使用的引脚为PA8 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //将引脚配置为输出模式 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管脚频率为50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); //调用初始化函数 while (1) { GPIO_SetBits(GPIOA, GPIO_Pin_8); //将PA8的输出状态设置为高电平 Delay(0xfffff); //调用延时函数,进行延时操作 GPIO_ResetBits(GPIOA, GPIO_Pin_8); //将PA8的输出状态设置为低电平 Delay(0xfffff); //同上行描述 } } void Delay(unsigned int nCount) //定义Delay函数 { for (; nCount != 0; nCount--); //空循环等待 } ``` 以上代码是单片机点亮LED的核心代码,详细来看一下代码的讲解: 1、在头文件文件夹下调用stm32f10x.h文件,使得代码能够识别出头文件中定义的芯片型号; 2、初始化GPIO_InitStructure结构体,方便之后使用; 3、编写延时函数,思路为正向循环等待一段时间; 4、main函数设置GPIO_Pin_8的调用频率为50MHz,调用Delay函数延时之后控制Pin_8引脚的输出状态; 5、while循环内部将Pin_8引脚的输出状态设置为高电平,延时一段时间,然后将Pin_8引脚的输出状态设置为低电平,并再次延时一段时间,然后重复执行该循环。 可以看出,以上代码简单明了,让我们可以快速的掌握STM32单片机通过KEIL进行开发的基本知识点,实现单片机点亮LED任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值