栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

蓝桥杯嵌入式 学习记录

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

蓝桥杯嵌入式 学习记录

STM32G431RBT6   HAL库使用记录

//LED
gpio口配置输出时
置0或1函数,HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)

锁存器 PD2,置1时打开,PC8到PC15可以正常读写

//KEY
gpio口配置输入时
读取当前值函数,HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)

KEY读取值,逻辑if(key1 == 0){
            HAL_Delay(10);
            if(key1 == 0){
                while(key1 == 0;
            return 1;)}}

//UART
HAL_UART_RxCpltCallback  //弱定义,可重新拿出写入main,数据完全接受完成后调用
当HAL_UART_Receive_IT调用的时候,会进入中断,串口中断模式接收
因为中断接收函数只能触发一次接收中断,所以我们需要在中断回调函数中再调用一次中断接收函数
具体流程:
1、初始化串口
2、在main中第一次调用接收中断函数
3、进入接收中断,接收完数据  进入中断回调函数
4、修改HAL_UART_RxCpltCallback中断回调函数,处理接收的数据,
5、回调函数中要调用一次HAL_UART_Receive_IT函数,使得程序可以重新触发接收中断

//LCD
"stdio.h"
"string.h"
strcmp(const char *s1, const char *s2)
memset(void *a, int b, size_t c)
sprintf(char * restrict, const char * restrict, ...);
LCD_DisplayStringLine(u8 Line, u8 *ptr)

//ADC
HAL_ADC_Start(&hadcx) 启动adc数据
HAL_ADC_GetValue(&hadcx) 获取adc值

//EE
u8 i2c_read(u8 add)
{
    unsigned char val;
    I2CStart();
    I2CSendByte(0xa0);
    I2CWaitAck();
    
    I2CSendByte(add);
    I2CWaitAck();
    
    I2CSendByte(0xa1);
    I2CWaitAck();
    val = I2CReciveByte();
    I2CStop();

    return val;    
}

u8 i2c_write(u8 add, u8 data)
{
    I2CStart();
    I2CSendByte(0xa0);
    I2CWaitAck();

    I2CSendByte(add);
    I2CWaitAck();

    I2CSendByte(data);
    I2CWaitAck();
    I2CStop();
}

//TIM
HAL_TIM_base_Start_IT(&htimx) //计时溢出进入tim_base回调函数  溢出值计算:(arr+1)*(psc+1)  /  clk  =  溢出进入回调函数时间
HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) //里写入自己算法

HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1) 启动PWM 周期clk/(arr+1)*(psc+1) (单位:Hz)
__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,10) //设置PWM占空比,高脉冲hz 占空比p = 高脉冲 / psc
                                                           占空比P = pulse/per *100%
HAL_TIM_IC_Start_IT

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779076.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号