在嵌入式开发中,掌握常用函数的用法可以大大提高开发效率。无论是单片机初学者还是有一定经验的工程师,熟悉函数库和调用方式都是必备技能。今天,我们为大家整理一份嵌入式开发常用函数速查表,覆盖 GPIO、定时器、串口、ADC/DAC、PWM 等核心模块,让你查得快、用得顺。
一、GPIO 函数
GPIO(通用输入输出)是嵌入式系统最基础的外设接口。常用函数包括:
| 函数 | 功能 | 示例 | 备注 |
|---|---|---|---|
| 设置输出电平 | HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); | 高/低电平输出 | |
HAL_GPIO_ReadPin(GPIOx,Pin) | 读取输入电平 | GPIO_PinState state=HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0); | 返回高/低电平状态 |
HAL_GPIO_TogglePin(GPIOx,Pin) | 翻转电平 | HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); | 快速切换状态 |
二、定时器函数
定时器在延时、周期性任务和 PWM 输出中不可或缺。常用函数包括:
| 函数 | 功能 | 示例 | 备注 |
|---|---|---|---|
HAL_TIM_Base_Start() | 启动基础定时器 | HAL_TIM_Base_Start(&htim2); | 用于计时、延时 |
HAL_TIM_Base_Stop() | 停止定时器 | HAL_TIM_Base_Stop(&htim2); | 停止计数 |
HAL_TIM_PWM_Start() | 启动 PWM 输出 | HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1); | 控制 LED 或电机 |
HAL_TIM_ReadCapturedValue() | 读取捕获值 | uint32_tvalue=HAL_TIM_ReadCapturedValue(&htim1,TIM_CHANNEL_2); | 输入捕获测量频率或脉宽 |
三、UART 串口函数
串口通信是嵌入式开发最常用的数据传输方式。
| 函数 | 功能 | 示例 | 备注 |
|---|---|---|---|
HAL_UART_Transmit() | 发送数据 | HAL_UART_Transmit(&huart1,(uint8_t*)"Hello",5,1000); | 阻塞发送 |
HAL_UART_Receive() | 接收数据 | HAL_UART_Receive(&huart1,buf,10,1000); | 阻塞接收 |
HAL_UART_Transmit_IT() | 中断发送 | HAL_UART_Transmit_IT(&huart1,buf,len); | 非阻塞发送 |
HAL_UART_Receive_IT() | 中断接收 | HAL_UART_Receive_IT(&huart1,buf,len); | 非阻塞接收 |
四、ADC/DAC 函数
ADC(模数转换)和 DAC(数模转换)用于传感器信号读取和模拟输出。
| 函数 | 功能 | 示例 | 备注 |
|---|---|---|---|
HAL_ADC_Start() | 启动 ADC | HAL_ADC_Start(&hadc1); | 开始采样 |
HAL_ADC_PollForConversion() | 等待采样完成 | HAL_ADC_PollForConversion(&hadc1,10); | 阻塞等待 |
HAL_ADC_GetValue() | 获取采样值 | uint32_tvalue=HAL_ADC_GetValue(&hadc1); | 原始 ADC 数值 |
HAL_DAC_SetValue() | 设置 DAC 输出 | HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,2048); | 输出模拟电压 |
五、PWM 函数
PWM(脉宽调制)广泛用于 LED 调光、电机调速等场景。
| 函数 | 功能 | 示例 | 备注 |
|---|---|---|---|
HAL_TIM_PWM_Start() | 启动 PWM | HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1); | 开始输出 PWM 波形 |
__HAL_TIM_SET_COMPARE() | 设置占空比 | __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,500); | 调节输出占空比 |
HAL_TIM_PWM_Stop() | 停止 PWM | HAL_TIM_PWM_Stop(&htim3,TIM_CHANNEL_1); | 停止输出 |
六、常用系统函数
| 函数 | 功能 | 示例 | 备注 |
|---|---|---|---|
HAL_Delay(ms) | 延时 | HAL_Delay(1000); | 毫秒级阻塞延时 |
HAL_GetTick() | 获取系统时钟 | uint32_ttick=HAL_GetTick(); | 毫秒级系统计时 |
__enable_irq() /__disable_irq() | 中断使能/禁止 | - | 控制全局中断状态 |
七、总结
这份速查表涵盖了嵌入式开发中最常用的函数类型:
- GPIO 操作:输入、输出、翻转
- 定时器与 PWM:计时、占空比调节
- UART 串口通信:阻塞/中断发送接收
- ADC/DAC:传感器采样与模拟输出
- 系统函数:延时、计时、中断控制
-
嵌入式开发
+关注
关注
18文章
1167浏览量
50207 -
函数
+关注
关注
3文章
4421浏览量
67795
发布评论请先 登录
中文版 Vxworks常用函数速查表
Linux 下开发嵌入式必备命令速查表
常用通信接口速查表
嵌入式开发常用函数速查表
评论