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库。