蓝桥杯嵌入式速通(1)

1.工程准备

创建一文件夹存放自己的代码,并在mdk中include上文件夹地址

把所有自身代码的头文件都放在headfile头文件中,之后只需要在新的文件中引用headfile即可

headfile中先提前可加入

#include "stdio.h"

#include "string.h"

#include "stdint.h"

这三个c语言头文件的引用

2.led显示

u

LED是使用锁存器控制,使用了PC8-PC15去控制led的亮灭,PD2控制锁存器的启用和所存,当PD2为低电平时,锁存器所存当前状态,当PD2为高电平时,锁存器可以修改状态。

3.led闪烁

设置定时为1s

在中断中进行灯的操作

特别地:在使用中断的时候需要在主函数中对中断先使能 HAL_TIM_Base_Start_IT(&htim2);

4.lcd屏幕使用

将赛方提供的lcd驱动中的三个文件放进自己的code文件中

由于lcd和led的引脚复用问题,所以在使用lcd函数操作的时候需要防止led的引脚被操作

需要提前将lcd函数加入两行,如上,以做到在函数执行前后的GPIOC的状态不被改变

并且在使用lcd初始化部分将锁存器使能引脚打开,将led状态锁存

lcd的初始化部分至少初始化四个,lcd屏幕背景,文字背景,和文字颜色

lcd显示函数则使用sprintf将文字存入char变量中再转成int型使用lcd显示行字符的函数

5.按键

按键是 PB1.PB0.PA0.PB2

需要将按键设置为上拉输入,当按键没按下时,引脚是高电平,当按键按下时,引脚为低电平

判断按键是否按下

按键长按,可以通过定时器计时去实现

6.PWM波输出

1)占空比为CCR/ARR+1

2)PWM波输出需要使能 HAL_TIM_PWM_Start(&htimx,timchannelx)

7.TIM输入捕获

输入捕获就是两次上升(下降)沿,HAL_TIM_ReadCapturedValue(htim,TIM_CHANNEL_1)会对CNT进行一个保存

8.ADC测量

配置对应引脚的adc状态

后可以用采集到的adc_value/4096*3.3得到电压,因为adc的采集到的值是0-4096

9.串口通信

对串口一选择异步通信

可以利用中断回调函数对接受到字符的时候做一些处理

特别地要在主函数中使用 HAL_UART_Receive_IT(&huart1, &rx_data, 1);

并且在中断回调结束语句中再使用一次,可以保证每次在接受完毕后再次开启接受中断,并且接受中断只能接受一个字节,所以需要接受到的字节存起来

**关于特殊字符的接受,可以使用sscanf函数将数据分开存储

相关推荐
Q_21932764554 分钟前
基于单片机的个性化服装尺寸红外 测量仪的设计
单片机·嵌入式硬件
Polanda。42 分钟前
定时器-PWM参数测量实验
stm32·单片机·嵌入式硬件
恶魔泡泡糖1 小时前
51单片机串口通信
c语言·单片机·嵌入式硬件·51单片机
wotaifuzao1 小时前
【Keil 5安装】keil 5最新版本安装+环境配置+下载百度资源分享(安装包,注册机等)
stm32·单片机·嵌入式硬件·mcu·学习·keil5·最新keil
染予2 小时前
8.AD软件操作:绘制一个完整的原理图需要进行哪些操作?
嵌入式硬件
方芯半导体3 小时前
EtherCAT “通信 + 控制“ 的全国产化控制方案,ESC芯片(FCE1323)与国产MCU芯片功能板解析
xml·网络·单片机·嵌入式硬件·网络协议·机器人·自动化
三佛科技-134163842123 小时前
LP3716NCK 隔离型12V1A 12W茶炉板电源方案典型应用电路与设计关键
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
羽获飞5 小时前
从零开始学嵌入式之STM32——5.GPIO外设
stm32·单片机·嵌入式硬件
望眼欲穿的程序猿5 小时前
串口通信---串口2定时器2
stm32·单片机·嵌入式硬件
望眼欲穿的程序猿6 小时前
STC/Ai8051U 中断列表
单片机·嵌入式硬件·stc