在嵌入式開發(fā)中,掌握常用函數(shù)的用法可以大大提高開發(fā)效率。無(wú)論是單片機(jī)初學(xué)者還是有一定經(jīng)驗(yàn)的工程師,熟悉函數(shù)庫(kù)和調(diào)用方式都是必備技能。今天,我們?yōu)榇蠹艺硪环?a target="_blank">嵌入式開發(fā)常用函數(shù)速查表,覆蓋 GPIO、定時(shí)器、串口、ADC/DAC、PWM 等核心模塊,讓你查得快、用得順。
一、GPIO 函數(shù)
GPIO(通用輸入輸出)是嵌入式系統(tǒng)最基礎(chǔ)的外設(shè)接口。常用函數(shù)包括:
| 函數(shù) | 功能 | 示例 | 備注 |
|---|---|---|---|
| 設(shè)置輸出電平 | 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); | 返回高/低電平狀態(tài) |
HAL_GPIO_TogglePin(GPIOx,Pin) | 翻轉(zhuǎn)電平 | HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); | 快速切換狀態(tài) |
二、定時(shí)器函數(shù)
定時(shí)器在延時(shí)、周期性任務(wù)和 PWM 輸出中不可或缺。常用函數(shù)包括:
| 函數(shù) | 功能 | 示例 | 備注 |
|---|---|---|---|
HAL_TIM_Base_Start() | 啟動(dòng)基礎(chǔ)定時(shí)器 | HAL_TIM_Base_Start(&htim2); | 用于計(jì)時(shí)、延時(shí) |
HAL_TIM_Base_Stop() | 停止定時(shí)器 | HAL_TIM_Base_Stop(&htim2); | 停止計(jì)數(shù) |
HAL_TIM_PWM_Start() | 啟動(dòng) PWM 輸出 | HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1); | 控制 LED 或電機(jī) |
HAL_TIM_ReadCapturedValue() | 讀取捕獲值 | uint32_tvalue=HAL_TIM_ReadCapturedValue(&htim1,TIM_CHANNEL_2); | 輸入捕獲測(cè)量頻率或脈寬 |
三、UART 串口函數(shù)
串口通信是嵌入式開發(fā)最常用的數(shù)據(jù)傳輸方式。
| 函數(shù) | 功能 | 示例 | 備注 |
|---|---|---|---|
HAL_UART_Transmit() | 發(fā)送數(shù)據(jù) | HAL_UART_Transmit(&huart1,(uint8_t*)"Hello",5,1000); | 阻塞發(fā)送 |
HAL_UART_Receive() | 接收數(shù)據(jù) | HAL_UART_Receive(&huart1,buf,10,1000); | 阻塞接收 |
HAL_UART_Transmit_IT() | 中斷發(fā)送 | HAL_UART_Transmit_IT(&huart1,buf,len); | 非阻塞發(fā)送 |
HAL_UART_Receive_IT() | 中斷接收 | HAL_UART_Receive_IT(&huart1,buf,len); | 非阻塞接收 |
四、ADC/DAC 函數(shù)
ADC(模數(shù)轉(zhuǎn)換)和 DAC(數(shù)模轉(zhuǎn)換)用于傳感器信號(hào)讀取和模擬輸出。
| 函數(shù) | 功能 | 示例 | 備注 |
|---|---|---|---|
HAL_ADC_Start() | 啟動(dòng) ADC | HAL_ADC_Start(&hadc1); | 開始采樣 |
HAL_ADC_PollForConversion() | 等待采樣完成 | HAL_ADC_PollForConversion(&hadc1,10); | 阻塞等待 |
HAL_ADC_GetValue() | 獲取采樣值 | uint32_tvalue=HAL_ADC_GetValue(&hadc1); | 原始 ADC 數(shù)值 |
HAL_DAC_SetValue() | 設(shè)置 DAC 輸出 | HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,2048); | 輸出模擬電壓 |
五、PWM 函數(shù)
PWM(脈寬調(diào)制)廣泛用于 LED 調(diào)光、電機(jī)調(diào)速等場(chǎng)景。
| 函數(shù) | 功能 | 示例 | 備注 |
|---|---|---|---|
HAL_TIM_PWM_Start() | 啟動(dòng) PWM | HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1); | 開始輸出 PWM 波形 |
__HAL_TIM_SET_COMPARE() | 設(shè)置占空比 | __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,500); | 調(diào)節(jié)輸出占空比 |
HAL_TIM_PWM_Stop() | 停止 PWM | HAL_TIM_PWM_Stop(&htim3,TIM_CHANNEL_1); | 停止輸出 |
六、常用系統(tǒng)函數(shù)
| 函數(shù) | 功能 | 示例 | 備注 |
|---|---|---|---|
HAL_Delay(ms) | 延時(shí) | HAL_Delay(1000); | 毫秒級(jí)阻塞延時(shí) |
HAL_GetTick() | 獲取系統(tǒng)時(shí)鐘 | uint32_ttick=HAL_GetTick(); | 毫秒級(jí)系統(tǒng)計(jì)時(shí) |
__enable_irq() /__disable_irq() | 中斷使能/禁止 | - | 控制全局中斷狀態(tài) |
七、總結(jié)
這份速查表涵蓋了嵌入式開發(fā)中最常用的函數(shù)類型:
- GPIO 操作:輸入、輸出、翻轉(zhuǎn)
- 定時(shí)器與 PWM:計(jì)時(shí)、占空比調(diào)節(jié)
- UART 串口通信:阻塞/中斷發(fā)送接收
- ADC/DAC:傳感器采樣與模擬輸出
- 系統(tǒng)函數(shù):延時(shí)、計(jì)時(shí)、中斷控制
掌握這些函數(shù)的使用方法,可以讓你在開發(fā) MCU/STM32/ESP 等嵌入式項(xiàng)目時(shí)快速上手,提高開發(fā)效率。
-
嵌入式開發(fā)
+關(guān)注
關(guān)注
18文章
1132瀏覽量
50027 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4413瀏覽量
67197
發(fā)布評(píng)論請(qǐng)先 登錄
中文版 Vxworks常用函數(shù)速查表
Halcon機(jī)器視覺(jué)函數(shù)資料_附錄A按內(nèi)容排序?qū)?yīng)函數(shù)速查表
176條DevOps人員常用的linux命令速查表資料合集
51單片機(jī)常用寄存器速查表免費(fèi)下載
Linux 下開發(fā)嵌入式必備命令速查表
常用通信接口速查表
嵌入式開發(fā)常用函數(shù)速查表
評(píng)論