蓝桥杯嵌入式操作详解(G431版本)
蓝桥杯嵌入式开发要点摘要:1.LCD控制可直接移植官方提供的HAL库文件;2.LED控制通过位操作实现单独控制(|和&)和闪烁(^),需注意状态保存;3.按键需配置CubeMX并实现单击/长按检测;4.PWM输出需配置CubeMX和软件函数;5.频率测量包含硬件配置和软件算法;6.电压采集通过ADC模块实现;7.I2C通信使用软件模拟,只需配置GPIO;8.串口通信需配置接收中断回调函数。
·
Part 1 : LCD控制
蓝桥杯官方比赛时提供基于HAL库的lcd.c/.h文件,其中LCD所需端口已经配置完成,所以LCD的控制只需要将官方程序进行移植(不需要在CubeMx中进行操作)



Part 2 : led控制
1.单一led控制原理(不影响其他灯)
1.在main.c里设置变量 uint8_t led_state=0x00,每次更改状态前先更改led_state,把当前状态存在led_state里;
2.要更改led状态时(开led1:led_state=led_state | 0x01)(关led1:led_state=led_state & 0xfe)
2.led闪烁
1 . LED_State=LED_State^0x02; //使用位取反符号(^),一定时间进行取反
2 . 多次取反后可能出现最后一次为亮的情况,这时需要调用一次关led的程序

Part 3 : 按键控制
按键与引脚对应关系: B1---PB0 B2---PB1 B3---PB2 B4---PA0
1.Cube Mx 配置


2.按键单击检测

3.按键长按检测

Part 4 : PWM 输出
1.Cube Mx配置

2.软件函数功能

Part 5 : 频率以及占空比测量
1.Cube Mx配置

2.软件函数配置
1.软件配置

2.相关函数用法介绍
Part 6 : 电压采集——ADC
1.Cube Mx配置

2.软件函数配置

Part 7 : I2C通信
使用的是软件I2C,只需要将对应引脚配置为输出模式

Part 8 : 串口通信
串口接收中断回调函数,串口接收需要在main.c添加初始化


更多推荐
所有评论(0)