- 博客(18)
- 收藏
- 关注
原创 【蓝桥杯嵌入式笔记】(十七)双路捕获占空比
注意:配置完成后,将MX_TIM3_Init();函数找到,移植到我们的主函数改名字void MX_TIM3_PA6_Init(void)。然后注释//MX_TIM3_Init();开启内部时钟,开启输入捕获,预分频选择80-1,这里通道1为直接所以选TI1FP1。再次回到CubeMX取消PA6的配置,开始按上示步骤配置PA7。查找PA7,在tim.h里面。选用引脚开启定时器通道。
2024-02-27 15:06:21
195
原创 【蓝桥杯嵌入式笔记】(十五)光敏电阻
trao采集的电压值通过RP7滑变产生的电压进行比较,当trao电压大于RP7滑变电压,trdo为1,反之为0.trao(PA4)为正常的adc采集,根据光强的不同,adc采集的电压值不同。配置PA4为ADC采集模式,配置PA3为gpio输入模式。DO与PA3连接,AO与PA4连接。PA4:光敏电阻的分压模拟电压值。开启adc2的DMA,进行设置。PA3:光敏电阻开关量信号。
2024-02-20 22:23:36
353
原创 【蓝桥杯嵌入式笔记】(十三)DS18B20
问题:在读取ds18b20的时候不能被中断,否则会影响他的时序,所以会读取的有时候有问题。本代码在定时器中执行,应当不会有问题。T1和T2之间要加延时,影响主函数,我将其隔开。PA6直接Output。开定时器3,定时10ms。数码管显示(小数点没加,可以在数组里面定义)比赛文件加进来,.h里面改为main.h。
2024-02-07 21:54:12
241
原创 【蓝桥杯嵌入式笔记】(十二)ADC按键
上,此时,按扩展板上的8个按钮,会输出相应的ADC值,ADC同样是12位。标准化,开启adc(第一个在adc的ex.h里面,第二个在adc.h里面)开始可以显示取值,按下不同按键,记录各个按键的adc值,再划分范围。与按键一致,放入定时器。
2024-02-06 15:42:35
307
原创 【蓝桥杯嵌入式笔记】(十)EEPROM
将这两个官方给好的.c.h文件放入bsp文件夹中,管理加入.c文件,在.c文件加入下列代码。eeprom一个位置只能存储一个8位的数。如果数据位数大于8位,记得进行分割。设置PB6,PB7为输出模式即可。最后记得在写入的时候延时5ms。初始化的eeprom代码。
2024-01-30 17:51:02
236
原创 【蓝桥杯嵌入式笔记】(九)串口实验
然后开始写,void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)函数在stm32g4xx_hal_uart.h里面找,其他变量在stm32g4xx_it.c里面找。放入main.c的初始化和stm32g4xx_it.c的void USART1_IRQHandler(void);不要忘记定义extern char rxdata[30];因此,在该比赛板中,若使用调试串口软件,只能使用串口1。添加读数据的DMA。
2024-01-29 18:50:58
338
原创 【蓝桥杯嵌入式笔记】(八)RTC时钟
这里配置为125和6000就可以,保证最后是1s。用来存放RTC时钟的时间和日期,放入主循环。可以定义结构体,自行设置时间。这里选择HSE_RTC。这里定义两个结构体。
2024-01-29 18:18:12
185
原创 【蓝桥杯嵌入式笔记】(七)输入捕获
上面根据两个上升沿直接的时间间隔可以计算出频率,如果想要测量占空比,那么需要开启两外一个通道的下降沿捕获。接着进入捕获中断回调函数,这个和普通的定时器中断回调函数是不一样的,这个也可以在timer.h中找到.先读取捕获值,然后清空计数值,就可以计算出频率,最后再次手动开启捕获就可以。首先在初始化部分开启输入捕获中断,捕获到上升沿就进入中断。PA15、PB4可直接测频率,使用概率大,当然也可以运用其他引脚。开启内部时钟,开启输入捕获,预分频选择80-1。最后在下方通道二出选择下降沿即可。
2024-01-29 11:41:03
525
1
原创 【蓝桥杯嵌入式笔记】(六)PWM实验
然后选择定时器,打开内部时钟源,选择通道生成PWM波,再设置自动重装载值,一般选择100,比较方便设置占空比,预分频系数选择800-1(或其他)。占空比=比较值/自动装载值*100%,此函数可以设置比较值,若改变了频率,则需要根据自动装载值计算占空比。选择某一引脚,带CH1或者CH2的才可以用来生成PWM波(CH1N不行),CH1是代表通道1。PWM频率=80M/(预分频系数*自动重装载值)一般预分频系数确定,改变自动装载值进而控制频率。占空比=比较值/自动装载值*100%再设置比较值,进而控制占空比。
2024-01-23 11:47:46
238
原创 【蓝桥杯嵌入式笔记】(三)按键实验
引脚PB0、PB1、PB2、PA0都配置为GPIO_Input,并设置为上拉输入Pull_up。在按键松开后计后,大于0.01s,键值不一样(double_key=1),算单击;在按键松开后计后,大于0.01s,键值一样(double_key=2),算双击;设置double_time和double_key。button放主循环,每1ms扫描一次键值。key和key_n均为全局变量。设置定时器4,1ms,开中断。
2024-01-21 20:11:13
214
原创 【蓝桥杯嵌入式笔记】(二)LCD实验
搬比赛文件内的底层代码:lcd.c lcd.h fonts.h。LCD引脚全选Output,LED引脚全选Output+置High。注意:有关lcd显示的函数不能放到定时器中,只能放到主函数里面。在每个函数的开头加 u16 temp1=GPIOC->ODR;在每个函数的结尾加GPIOC->ODR=temp1;进入例程main.c搬运初始化代码。找到lcd.h文件,在下面寻找函数。
2024-01-19 16:00:01
265
原创 【蓝桥杯嵌入式笔记】(一)新建工程与LED
LED工程文件夹内新建bsp文件夹,新建两个文档存入bsp,命名为mymain.c和mymain.h。PC8-PC15、PD2全设置Output。PC8-PC15配置High。
2024-01-18 19:51:26
141
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人