2024蓝桥杯嵌入式模板代码详解

文章目录

一、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(编写代码时不时都要按这个快捷键,保存代码)。

c 复制代码
typedef unsigned int uint;
typedef unsigned char uchar;

点击bsp文件,添加已存在的文件lcd.c

再点击魔术棒,选择【c/c++】,点击Include path右边的三个...的图标,添加头文件路径(路径不变,就只需要配置一次)。

led.h代码如下

c 复制代码
#ifndef ___HAL_LED_
#define ___HAL_LED_

#include "main.h"
void Disp_LED(uchar led);
#endif

led.c编写LED显示函数

c 复制代码
#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之间。


三、LCD模板代码

LCD不需要配置引脚,直接导入官方的文件即可
第十五届蓝桥杯大赛省赛选手资源数据包(电子赛)\DP2024_ES(嵌式)\BSP\LCD_Driver\MDK5_LCD_HAL

分别将Src文件里的lcd.c和Inc文件里的fonts.hlcd.h添加到第一节我们创建的bsp文件夹里

打开Keil,添加已存在的文件到bsp中,在main.c函数led.h下面添加lcd.h头文件,点击编译。

打开Src文件中的main.c,并复制主要代码到keil中。

显示结果如下

相关推荐
方芯半导体1 天前
EtherCAT “通信 + 控制“ 的全国产化控制方案,ESC芯片(FCE1323)与国产MCU芯片功能板解析
xml·网络·单片机·嵌入式硬件·网络协议·机器人·自动化
三佛科技-134163842121 天前
LP3716NCK 隔离型12V1A 12W茶炉板电源方案典型应用电路与设计关键
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
梵刹古音1 天前
【C语言】 字符型变量
c语言·开发语言·嵌入式
羽获飞1 天前
从零开始学嵌入式之STM32——5.GPIO外设
stm32·单片机·嵌入式硬件
望眼欲穿的程序猿1 天前
串口通信---串口2定时器2
stm32·单片机·嵌入式硬件
望眼欲穿的程序猿1 天前
STC/Ai8051U 中断列表
单片机·嵌入式硬件·stc
2401_859049081 天前
lvgl移植到Linux踩坑
linux·运维·arm开发·elasticsearch·嵌入式·ubantu
国科安芯1 天前
航空级PMSM驱动系统中MCU的故障诊断与容错控制策略研究
单片机·嵌入式硬件·安全·架构·制造·安全性测试
帅次1 天前
系统分析师-信息物理系统分析与设计
stm32·单片机·嵌入式硬件·mcu·物联网·iot·rtdbs
澜莲Alice1 天前
STM32 MPLAB X IDE 软件安装-玩转单片机-英文版沉浸式安装
stm32·单片机·嵌入式硬件