蓝桥杯
追西西
这个作者很懒,什么都没留下…
展开
-
蓝桥杯嵌入式uart串口通信
1,在cubeMX中配置,模式选择异步模式,波特率设置为9600,打开串口中断,然后生成代码。//串口发送char temp[10];sprintf(temp,"Error\r\n");HAL_UART_Transmit(&huart1,(uint8_t *)temp,strlen(temp),50); //50是超时时间//写之前先添加usart.h,串口中断回调函数,每次中断只能接收一个字符,使用之前必须在主函数中先打开串口中断char rxdata[40]; .原创 2022-04-30 19:51:33 · 975 阅读 · 0 评论 -
蓝桥杯嵌入式IIC通信-eeprom读写
1,先查手册,可以看到24C02连接的是PB6,PB7引脚。2,在cubeMX配置引脚,选择output模式(因为官方会给软件IIC的库所以配置引脚就可以了)。3,对官方库的文件进行移植,把这两个文件复制到自己的文件夹并在keil中添加。4,i2c - hal.c中写读写函数。//读函数uint8_t eeprom_read(uint8_t addr){ uint8_t dat; I2CStart(); //¿ªÆôIIC I2CSendByte(0xa0); //ÁªÏµÐ原创 2022-04-29 23:33:30 · 780 阅读 · 0 评论 -
蓝桥杯嵌入式ADC测量电压
1,先看官方给的手册,PB15和PB12分别和两个可调电阻相连。2,配置引脚为ADC输入。3,左侧找到Analog。分别配置ADC1和ADC2选择Single-dened。4,到这里已经配置完成,生成代码即可。5,新建两个文件,badc.c badc.h。//.c文件#include "badc.h"double getADC(ADC_HandleTypeDef *pin){ uint adc; HAL_ADC_Start(pin); //..原创 2022-04-26 19:31:33 · 607 阅读 · 0 评论 -
蓝桥杯嵌入式定时器输入捕获(频率,占空比测量)
这里是测开发板自带的信号发生器的频率。1.在cubeMX中配置引脚,分别选择定时器2的通道1和定时器3的通道1。使能定时器通道作为输入模式。3,分频系数(psc)80-1,ARR默认就可以。4,NVIC中使能中断。5,生成代码。6,在interrupt中写中断回调函数。...原创 2022-04-26 18:59:45 · 2903 阅读 · 1 评论 -
蓝桥杯嵌入式定时器输出PWM(可调占空比)
功能要求100Hz指的是定时频率不是定时器工作频率 。定时器工作频率 = 外部总线频率 / (PSC + 1);定时频率 (PWM波的频率)=定时器工作频率 / (period + 1) = 外部总线频率 / ((PSC + 1)*(period + 1));PA6引脚选择TIM16_CH1,PA7选择TIM17_CH1在左边Timers找到TIM16先使能再选择PWM输出通道1,PSC设为8000-1,period为100-1。设置初始占空比20%...原创 2022-04-24 22:08:58 · 1810 阅读 · 1 评论 -
蓝桥杯嵌入式定时器-长按键及界面切换
根据上个文章修改//在结构体中添加两个变量struct keys{ uchar judge_sta; bool key_sta; //按键状态 bool single_flag; //短按键 bool long_flag; //长按键 uint key_time; //计时};void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ if(htim->Instance == TIM4)原创 2022-04-24 19:56:26 · 674 阅读 · 0 评论 -
蓝桥杯嵌入式定时器-按键单击
先说一下思路:在手册里可以看到引脚是和VDD相连的所以没按下引脚是高电平,按下就是低电平。这里我们需要检测按键有没有被按下,就需要配置定时器中断每隔一段时间扫描按键。把需要的引脚设置为输入模式(GPIO_Input),然后模式设置为上拉模式参考手册76页找到Timers配置TIM4时钟源选择内部时钟。点击设置psc和arr因为总线频率是80MHz,所以就是10ms扫描一次。在NVIC中把中断使能生成代码。新建interrupt.c和.h文件。编译一...原创 2022-04-24 18:43:03 · 583 阅读 · 2 评论 -
蓝桥杯嵌入式LCD液晶屏显示
这个不用我们自己写,官方给了完整的工程,我们需要的文件就在这个路径里。需要移植到自己的文件夹。\赛点资源数据包_ES\2-新版竞赛平台\5-液晶驱动参考程序\HAL_06_LCD这里我们直接调库就可以,不用在cubeMX中配置引脚,库已经帮我们配置好了。\HAL_06_LCD\Inc 把fonts.h和lcd.h添加到自己的文件夹。\HAL_06_LCD\Src 把lcd.c添加到自己的文件夹。在main.c中添加#include "lcd.h"#include "stdio.h原创 2022-04-24 15:21:24 · 1134 阅读 · 0 评论 -
蓝桥杯嵌入式M4板点灯
先看产品手册找到LED灯对应的引脚在cubeMX中一 一配置为输出模式这边要注意PD2引脚为锁存器也要配置为输出模式。System Core中点击GPIO。PC8到PC15全选,配置为High,这样就默认关闭灯。PD2就不用动了,它是高电平使能,低电平关闭。然后再新建的文件夹中建立led.h和led.c,这里还要记得包含路径。在main.h中定义两个类型,方便使用#define uchar unsigned char#define uint unsigned原创 2022-04-24 14:43:20 · 292 阅读 · 0 评论 -
蓝桥杯嵌入式M4板的cubeMX配置及工程建立
在Part Number 输入芯片名,STM32G431RB,在右下选择LQFP64封装,点击右上角Start Project选择好芯片后,选择Pinout,左边SystemCore点击RCC打开高速时钟,选第三项。然后会发现有两个引脚被使能,就配置成功了。打开时钟配置(Clock Configuration)这是已经配置好的,有4个地方需要配置。先设置外部输入时钟频率24,芯片手册可以看到 这个晶振是24MHz。然后选择HSE外部高速时钟。选择HCCLK,设置HCLK为原创 2022-04-24 11:35:44 · 500 阅读 · 0 评论