HAL常用函数详解

HAL常用函数详解

HAL_GPIO.h

HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init);//初始化引脚
HAL_GPIO_DeInit(GPIOA,GPIO_PIN_1);//初始化PA1引脚为复位状态
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);//将PA1置高电平
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);//将PA1置低电平
HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_1);//读取PA1电平状态
HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_1);//取反PA1电平
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);//调用中断回调函数
HAL_GPIO_EXTI_Callback(GPIO_PIN_1);//中断函数具体要响应的动作
HAL_GPIO_LockPin(GPIOA,GPIO_PIN_1);//锁定PA1电平状态

HAL_URAT.h

HAL_UART_Init(&huart1);//初始化串口1函数
HAL_UART_MspInit(&huart1);//串口1回调函数,主要进行硬件部分的初始化
HAL_UART_Transmit(&huart1, uint8_t *pData, uint16_t Size, uint32_t Timeout);//串口1发送数据函数
HAL_UART_Receive(&huart1, uint8_t *pData, uint16_t Size, uint32_t Timeout);//串口1接收数据函数
HAL_UART_Transmit_IT(&huart1, uint8_t *pData, uint16_t Size);//串口1中断方式发送数据
HAL_UART_Receive_IT(&huart1, uint8_t *pData, uint16_t Size);//串口1中断方式接受数据
HAL_UART_Transmit_DMA(&UART1_Handler, uint8_t *pData, uint16_t Size);//DMA方式发送数据
HAL_UART_Receive_DMA(&UART1_Handler, uint8_t *pData, uint16_t Size);//DMA接收数据
HAL_UART_DMAPause(&UART1_Handler);//暂停DMA数据传输
HAL_UART_DMAResume(&UART1_Handler);//从暂停状态中恢复DMA传送
HAL_UART_DMAStop(&UART1_Handler);//停止DMA的传输
HAL_UART_IRQHandler(&huart1);//串口1中断处理函数
HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart);//串口发送 数据完毕的回调函数,当串口使用中断模式发送完毕后才能自动调用本函数。
HAL_UART_TxHalfCpltCallback(UART_HandleTypeDef *huart);//发送数据一半回调函数
HAL_UART_ErrorCallback(UART_HandleTypeDef *huart);//串口收发数据出错时的回调函数。
HAL_LIN_SendBreak(UART_HandleTypeDef *huart);//LIN总线通信函数,发送一个断开连接的标识。
HAL_MultiProcessor_EnterMuteMode(UART_HandleTypeDef *huart);//多核处理器进入串口静音模式。

HAL_ADC.h
三种开启函数对应三种关闭函数

HAL_ADC_Start(&hadc1);//启动ADC1转换
HAL_ADC_Start_IT(&hadc1);//中断模式启动ADC1转换
HAL_ADC_Start_DMA(ADC_HandleTypeDef*hadc,uint32_t*pData,uint32_t Length);//DMA

模式启动ADC1转换

HAL_ADC_Stop(ADC_HandleTypeDef*hadc);
HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc);
HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc);
HAL_ADC_PollForConversion(&hadc1, uint32_t Timeout);//等待转换完成Timeout为最大的等待时间,单位ms
HAL_ADC_GetValue(&hadc1);//获取ADC1值的函数
HAL_ADCEx_Calibration_Start(&hadc1);//ADC1校准
HAL_ADC_ConvCpltCallback(&hadc1);//中断回调函数

HAL_DAC.h

HAL_DAC_Start(DAC_HandleTypeDef* hdac, uint32_t Channel); //开启DAC输出HAL_DAC_Stop(DAC_HandleTypeDef* hdac, uint32_t Channel); //关闭DAC输出
HAL_DAC_Start_DMA(DAC_HandleTypeDef*hdac, uint32_t Channel, uint32_t*pData, uint32_t Length, uint32_t Alignment); //需要函数中不断开启  //开启DAC的DMA输出
HAL_DAC_Stop_DMA(DAC_HandleTypeDef* hdac, uint32_t Channel); //关闭DAC的DMA输出
HAL_DAC_SetValue(DAC_HandleTypeDef*hdac, uint32_t Channel, uint32_t Alignment, uint32_t Data); //设置DAC输出值
HAL_DAC_GetValue(DAC_HandleTypeDef*hdac, uint32_t Channel); //获取DAC输出值

HAL_TIM.h

HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);//使能TIM3的PWM Channel1输出
__HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_1,pwmVal);//修改占空比
HAL_TIM_Base_Init(TIM_HandleTypeDef *htim);//初始化定时器时基单元
HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim);//初始化定时器时基微控制器特定程序包

如需下载此博客word文档请到主页寻找wzy hal库。

  • 20
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HAL库是针对STM32微控制器的一套高级API,包含了丰富的功能库,包括ADC模块的驱动。在HAL库中,ADC模块的驱动框架已经被封装好了,我们只需要调用相应的函数即可使用。下面是HAL库中ADC相关函数详解: 1. ADC初始化函数 函数原型:HAL_ADC_Init(ADC_HandleTypeDef* hadc) 函数作用:配置ADC模块的基本参数,包括参考电压、采样分辨率、采样周期等。 参数说明:hadc:ADC_HandleTypeDef类型指针,指向已经定义好的ADC_HandleTypeDef结构体。 2. ADC通道配置函数 函数原型:HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig) 函数作用:配置ADC转换通道的相关参数,包括通道号、采样时间、采样时钟等。 参数说明:hadc:ADC_HandleTypeDef类型指针,指向已经定义好的ADC_HandleTypeDef结构体;sConfig:ADC_ChannelConfTypeDef类型指针,指向已经定义好的ADC_ChannelConfTypeDef结构体。 3. ADC启动函数 函数原型:HAL_ADC_Start(ADC_HandleTypeDef* hadc) 函数作用:启动ADC模块的转换过程。 参数说明:hadc:ADC_HandleTypeDef类型指针,指向已经定义好的ADC_HandleTypeDef结构体。 4. ADC停止函数 函数原型:HAL_ADC_Stop(ADC_HandleTypeDef* hadc) 函数作用:停止ADC模块的转换过程。 参数说明:hadc:ADC_HandleTypeDef类型指针,指向已经定义好的ADC_HandleTypeDef结构体。 5. ADC轮询模式获取转换结果函数 函数原型:HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) 函数作用:在轮询模式下获取ADC转换结果。 参数说明:hadc:ADC_HandleTypeDef类型指针,指向已经定义好的ADC_HandleTypeDef结构体;Timeout:等待转换结果的超时时间,单位为毫秒。 6. ADC中断模式获取转换结果函数 函数原型:HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc) 函数作用:在中断模式下启动ADC转换过程。 参数说明:hadc:ADC_HandleTypeDef类型指针,指向已经定义好的ADC_HandleTypeDef结构体。 7. ADC中断回调函数 函数原型:HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) 函数作用:当ADC转换完成后,自动调用此函数,用户可以在此函数中进行转换结果的处理。 参数说明:hadc:ADC_HandleTypeDef类型指针,指向已经定义好的ADC_HandleTypeDef结构体。 以上就是HAL库中ADC相关函数详解,使用HAL库可以方便快捷地实现ADC模块的驱动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wzyannn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值