当前位置: 首页 > news >正文

蓝桥杯嵌入式速通(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函数将数据分开存储

http://www.lryc.cn/news/519459.html

相关文章:

  • Redis优化建议详解
  • ceph 存储 full 阈值调整
  • 后端技术选型 sa-token校验学习 下 结合项目学习 后端鉴权
  • Vue.js组件开发-实现组件切换效果的两种方法 条件渲染、动态组件
  • primitive 的 Appearance编写着色器材质
  • Seata搭建
  • 流浪猫流浪狗领养PHP网站源码
  • asammdf python 处理MF4文件库简介
  • 【“软件工程”基础概念学习】
  • 省森林防火应急指挥系统
  • 一键整理背包界面功能
  • 给DevOps加点料:融入安全性的DevSecOps
  • uniapp 使用 pinia 状态持久化
  • HarmonyOS鸿蒙-@State@Prop装饰器限制条件
  • Java Web开发进阶——Spring Boot与Spring Data JPA
  • Vue Router4
  • 计算机网络之---应用层协议概述
  • html + css 顶部滚动通知栏示例
  • 【Rust自学】11.6. 控制测试运行:并行和串行(连续执行)测试
  • 某漫画网站JS逆向反混淆流程分析
  • React 中事件机制详细介绍:概念与执行流程如何更好的理解
  • Day04-后端Web基础(Maven基础)
  • vue3模板语法+响应式基础
  • 【面试题】简单聊一下什么是云原生、什么是k8s、容器,容器与虚机相比优势
  • 数据挖掘实训:天气数据分析与机器学习模型构建
  • STM32如何使用内部晶振作为晶振
  • 【Maui】导航栏样式调整
  • 【黑马程序员三国疫情折线图——json+pyechart=数据可视化】
  • 如何实现多级缓存?
  • Saas数据库迁移单租户数据