文章目录
- 一、STM32CubeMx配置
- 二、LED模板代码
- 三、LCD模板代码
一、STM32CubeMx配置
打开STM32CubeMx,选择【File】->【New Project】,进入芯片选择界面,搜索到蓝桥杯官方的芯片型号,并点击收藏,下次直接点击收藏就可以找到对应的芯片,
打开工程后,首先点击【System Core】,准备配置RCC和SYS。点击【RCC】->【High Speed Clock(HSE)】->【Crystall/Ceramic Resonator】;【SYS】->【Debug】->【Serial Wire】。
配置时钟树,点击第二项【Clock Configuration】
结果图如下
点击第三项【Project Manager】
打开Keil点击编译,看是否配置成功,点击魔法棒
到此,编写代码的配置已经完成
二、LED模板代码
通过CT117E-M4产品手册查看。易知LED引脚为PC8~PC15,锁存器使能引脚PD2,CubeMX进行引脚的配置。将其配置为GPIO_Output。PC8-PC15配置为High,点击生成代码。
此时Keil软件在运行就会弹出,点击确认重新编译就行。
注:以后自己编译的代码只能写在Begin和End之间,不然下次配置完CubeMX后自己写的代码会消失。
打开项目文件夹,创建名为bsp的文件夹,以后自己编写的代码都存放于此。
keil文件里,点击项目名Demo_dzj,添加一个新的组,并改名为bsp
Ctrl+n创建两个文件,Ctrl+s保存到bsp文件里,并改名为lcd.c、lcd.h
首先在main.h中定义两个数据类型,这样以后就直接写uint、uchar,这样比较方便。最后Ctrl+s(编写代码时不时都要按这个快捷键,保存代码)。
typedef unsigned int uint;
typedef unsigned char uchar;
点击bsp文件,添加已存在的文件lcd.c
再点击魔术棒,选择【c/c++】,点击Include path右边的三个…的图标,添加头文件路径(路径不变,就只需要配置一次)。
led.h代码如下
#ifndef ___HAL_LED_
#define ___HAL_LED_
#include "main.h"
void Disp_LED(uchar led);
#endif
led.c编写LED显示函数
#include "led.h"
void Disp_LED(uchar led) //led参数:选择那几个LED点亮
{
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_SET); //所有IO口置1
HAL_GPIO_WritePin(GPIOC, led << 8, GPIO_PIN_RESET); //高8位 为1的IO口点亮
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET); //开锁存器
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET); //关锁存器
}
main.c文件中直接添加对应头文件,main函数里初始化LED,while(1)里闪烁LD1。再次提醒代码只能写在Begin和End之间。