创建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中。

此时可以看到有很多错误存在,下面就要修改程序了(因为例程中的很多参数的定义并不是准确对应到每一个板子的,所以要修改。而为了实现最简单的led灯点亮功能,我们将多余的程序删除)

第一步,删除两段程序:


(上图为删除的第一段程序)


(上图为需要删除的第二段程序——while循环中的所有内容)

好了,现在主函数基本已经删除完毕了。

第二步,看一下板子,我用的是STM32L152c-discovery,然后我的两个LED灯的端口分别是PB7和PB6(后面的内容需要根据板子情况改)


所以,我要先把例程中的D端口改成B端口



(上述两处均要改成B,因为我的LED灯连接的是B端口)

第三步,配置输出模式


分别将 GPIO_PIN_X 和 GPIO_PIN_Y 改成 GPIO_Pin_6 和 GPIO_Pin_7 , 注意这里有两处要改,一处是将XY改成67,因为我的引脚是PB6和PB7,另一个是PIN要改成Pin,因为我这个版本的库函数中定义的模式是这样的。修改完毕后:


第四步,循环内容修改(控制led灯关键步骤)


在while中(刚才删除第二段程序的地方)加入上图所示程序。

第五步,添加Delay函数的声明(此处不知道是我之前不小心把声明误删了,还是例程中原本就没有,如果你的有,就不用添加了)


到此,程序修改完成,rebuild,然后烧写,就可以看到两个led灯循环闪烁了。

特别强调,这里面对程序的修改依赖于你板子本身的端口和连接情况,需要对号入座!(另外关于程序的解释都在上面的图片中了,只要两段很简单的程序就可以了!)

猜你喜欢

转载自blog.csdn.net/yang_csdnforobts/article/details/79068558