前言
在初学单片机时,很多人都会通过点灯案例进行单片机的学习,本案例是使用STM32F103ZE进行点灯,本人因为太懒没有装led灯,最后点灯结果将会用示波器展示结果。不同型号的版大概步骤和代码都是差不多的。
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用到的装置和软件
本案例主要涉及到的设备和装置有:
1.一块STM32F103ZET6的开发板(也可使用其它板子)
2.ST-LINKV2(有钱的也可使用J-link等,)一个与杜邦线若干
3.涉及到的软件有STM32CubeMX(用于生成文件)和Keil uVision5(用于编程)两个软件
4.示波器(非必要,本案例因开发板上没有led灯所以使用示波器展示结果)
二、软件部分的使用
1.STM32CubeMX
可以使用STM32CubeMX对 STM32 微控制器和微处理器进行非常简单的配置
1.1首先打开STM32CubeMX,按顺序点击下载自己开发版对应固件,本案例使用的是STM32F103ZET6的开发板所以下载的是STM32F1.
1.2新建项目
然后选择自己对应的开发版
1.3配置系统调试接口SYS,选择Serial Wire
1.4在右边的芯片图中找到你LED灯所在的引脚(不知道的可以看芯片的结构图,),鼠标左键选择GPIO_Output。此处选择的是PA2(你们要选择LED灯对应的引脚)
1.5然后点击GPIO进行对引脚的相关设置
GPIO output level:有两种选择,一般选择Low
GPIO mode:有两种模式,推免输出:1代表VCC,0代表GND;开漏输出:1代表高阻态,0代表GND
GPIO Pull-up/Pull-down:输入需要上下拉,输出一般没有上下拉
Maximum output speed:最大的输出速度,一般选择Low
User Label:用户标签,可以不写
1.6点击Project Manager,进行项目配置
生成了代码之后会弹出一个Code Generation 的弹窗,选择中间的 Open Project,就会在keil中打开
keil 5 的使用
在main.c文件中写入代码
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_RESET);//将引脚PA2拉低
HAL_Delay(10);//该语句作用是延时10毫秒,让LED保持低电平10毫秒。
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET);//将引脚PA2拉高
HAL_Delay(10);
最好在写完代码之后运行一下看有没有报错
烧录程序点亮
然后使用ST-LINK连接电脑和开发板,ST-LINK(记得要在官网去安装相关驱动)显示灯蓝色常亮表示没有问题。
点击魔法棒
然后
在点击Debug
点击Settings后:
然后点击Flash Download
点击Add后选择自己对应的型号
然后点击确定和OK
点击这个进行烧录
显示出零报错和时间则烧录成功
然后灯它就亮了,如果没亮可以先复位重置一下。
由于我这里没有灯,所以我用示波器测了一下,有低电平和高电平。
总结
由于我没有用到LED灯,只是完成了对引脚高低电平的控制,如果要点灯的兄弟,在设置高低电平的代码时应该结合自己的电路原理图。