摘要: 配置 如果没有配置过lcd屏,需要手动将引脚改为PA9和PA10 参数的配置 打开中断 编程(发送数据) 需要先引用一个头文件 1 #include "string.h" 然后使用函数HAL_UART_Transmit 1 char text[30]; 2 sprintf(text,"hello w 阅读全文
posted @ 2023-04-01 21:19 Euphonium611 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 配置 根据原理图进行配置 官方提供的文件 编程 首先编写一个读的函数 1 unsigned char eeprom_read(unsigned char addr) 2 { 3 unsigned char dat; 4 I2CStart();//开启I2C总线 5 I2CSendByte(0xa0) 阅读全文
posted @ 2023-03-19 12:58 Euphonium611 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 配置 根据原理图进行配置 编程(ADC部分) 记一下自己定义的这个函数的参数ADC_HandleTypeDef *hadc 函数当中首先是开启(这个真的很容易忘记)HAL_ADC_Start(hadc); 然后得到ADC的值的这个函数也需要记忆HAL_ADC_GetValue(hadc); 然后如何 阅读全文
posted @ 2023-03-18 10:30 Euphonium611 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 输入捕获除了可以测量频率,也可以测量占空比 配置 首先是定时器2的配置,通道一直接捕获,测量上升沿,通道二间接捕获,测量下降沿 定时器3同上 编程(中断部分) 这个程序与之前的区别: ——将整形变量改为浮点型变量,便于除法计算占空比 ——新增判断语句if(htim->Channel==HAL_TIM 阅读全文
posted @ 2023-03-18 09:18 Euphonium611 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 配置 由图可知需要配置PA15和PB4 然后tim2的参数配置如下 tim3的配置如下,前文中TIM3也被用作按键中断,可能存在一定的问题(重装载值不够),建议按键换一个定时器,我将其改为了TIM4 编程(中断部分) 首先还是中断函数的编写,ccrl_val有点像重装载值的意思,具体的含义暂时不知道 阅读全文
posted @ 2023-03-17 23:57 Euphonium611 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 配置 此处配置了PA6和PA7进行输出 然后,根据定时器和通道进行使能 在进行时钟配置时,我将重装载值设置为100-1(方便后期占空比的设置),然后在设置了分频系数,最终得到一百赫兹的PWM输出 然后随便配置了一下初始的占空比 开启 还是在stm32g4xx_hal_tim.c中可以找到 1 HAL 阅读全文
posted @ 2023-03-15 23:58 Euphonium611 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 配置 这个和之前没变化 编程 .h文件中的结构体新增了三个变量 1 #ifndef _interrupt_H_ 2 #define _interrupt_H_ 3 4 #include "main.h" 5 #include "stdbool.h" 6 7 struct keys 8 { 9 boo 阅读全文
posted @ 2023-03-15 23:08 Euphonium611 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 其实这是上一篇的升级版,此处只呈现和上文中的差异之处 编程 .h文件中的结构体新增了两个变量 1 #ifndef _interrupt_H_ 2 #define _interrupt_H_ 3 4 #include "main.h" 5 #include "stdbool.h" 6 7 struct 阅读全文
posted @ 2023-03-14 23:38 Euphonium611 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 配置 这个是引脚配置 然后是时钟配置(分频和arr) 别忘了这个 编程(初始化) 这个真的很容易忘记(stm32g4xx_hal_tim.c) 1 HAL_TIM_Base_Start_IT(&htim3); 编程(中断) .h文件中需要记忆结构体的声明(回调函数stm32g4xx_hal_tim. 阅读全文
posted @ 2023-03-14 23:13 Euphonium611 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 配置 无需使用cubeMX 编程(初始化) 这个和上一篇所述一样,写到GPIO初始化之后 初始化一定要记得LCD_Init(),然后就是清屏和设置前景色和字体颜色 1 /* Initialize all configured peripherals */ 2 MX_GPIO_Init(); 3 /* 阅读全文
posted @ 2023-03-14 22:07 Euphonium611 阅读(55) 评论(0) 推荐(0) 编辑