伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HAL庫常用函數匯總

撞上電子 ? 2023-11-29 08:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


1,系統函數

HAL_Delay

原型:void HAL_Delay(uint32_t Delay);

作用:利用滴答定時器生成的系統延遲函數

參數:

Delay:延遲時間,單位是ms

返回值:無

示例代碼:

HAL_Delay(50);//延遲50ms

2,GPIO函數

HAL_GPIO_WritePin

原型:void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

作用:使得某一個GPIO的Pin的狀態變成高電平或者低電平

參數:

GPIOx:引腳選擇

GPIO_Pin:引腳編號選擇

PinState:引腳狀態設置

返回值:無

示例代碼:

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_SET);//設置PB15引腳為高電平HAL_Delay(500);//延時500msHAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);//設置PB15引腳為低電平HAL_Delay(500);//延時500ms

HAL_GPIO_TogglePin

原型:void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

作用:使得某一個GPIO的Pin的狀態翻轉

參數:

GPIOx:引腳選擇

GPIO_Pin:引腳編號選擇

返回值:無

示例代碼:

HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_15);//設置PB15引腳翻轉,如果原先是低電平,現在就是高電平;如果原先是高電平,現在就是低電平。

HAL_GPIO_ReadPin

原型:GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

作用:讀取某一個GPIO的Pin的狀態翻轉

參數:

GPIOx:引腳選擇

GPIO_Pin:引腳編號選擇

返回值:某一個GPIO的Pin的狀態。

GPIO_PIN_SET:當前狀態為高電平

GPIO_PIN_RESET:當前狀態為低電平

示例代碼:

if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_15)==GPIO_PIN_RESET)//判斷PB15為低電平HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_SET);//設置PB14引腳為高電平

3,UART函數

printf重定向

原型:int fputc(int c,FILE *stream);

作用:printf重定向

參數:系統參數,無需關心

返回值:系統參數,無需關心

示例代碼:

int fputc(int c,FILE *stream)//需要引用頭文件:stdio.h{ HAL_UART_Transmit(&huart1,(uint8_t *)&c,1,100);//注意,這里重定向是串口1 return c;}

HAL_UART_Transmit

原型:HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart,uint8_t *pData,uint16_t Size,uint32_t Timeout);

作用:串口以阻塞式發送數據

參數:

huart:串口號選擇

pData:發送的數據

Size:發送數據的長度

Timeout:超時時間,代表執行函數時,最多占用串口的時間,單位是毫秒

返回值:無

示例代碼:

unsigned char str[]={"hello world"};//需要發送的數據HAL_UART_Transmit(&huart1,str,sizeof(str),100);//串口1在100ms以內發送數據

HAL_UART_Receive_IT

原型:HAL_StatusTypeDef HAL_UART_Receive_IT(UART_HandleTypeDef *huart,uint8_t *pData,uint16_t Size);

作用:串口以中斷方式接收數據

參數:

huart:串口號選擇

pData:發送的數據

Size:發送數據的長度

返回值:無

示例代碼:

unsigned char str[1];//接收數據存放位置HAL_UART_Receive_IT(&huart1,str,1);//串口接收數據 //串口接收完成的中斷回調函數void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){ if(str[0]==0x80)//判斷接收的數據是否為0x80 HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);//翻轉PB5電平}

HAL_UART_RxCpltCallback

原型:__weak void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart);

作用:串口接收完成的中斷回調函數

參數:系統參數,無需關心

返回值:無

示例代碼:

unsigned char str[1];//接收數據存放位置HAL_UART_Receive_IT(&huart1,str,1);//串口接收一個數據 //串口接收完成的中斷回調函數void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){ if(str[0]==0x80)//判斷接收的數據是否為0x80 HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);//翻轉PB5電平}

3,IIC函數

HAL_I2C_Master_Transmit

原型:HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout);

作用:IIC以主機模式發送數據

參數:

hi2c:IIC編號

DevAddress:寫入的地址

pData:寫入的數據

Size:寫入數據的字節數

Timeout 最大傳輸時間,超過傳輸時間將自動退出傳輸函數

返回值:無

示例代碼:

uint16_t Address=0x1234;uint8_t TxData[2]={0x11,0x22}; //在100ms以內,使用IIC1,采用主機模式,向地址0x1234寫入數據0x11和0x22 HAL_I2C_Master_Transmit(&hi2c1,I2C1_WRITE_ADDRESS,(uint8_t*)TxData,2,100);

4,SPI函數


HAL_SPI_TransmitReceive

原型:HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout);

作用:SPI以阻塞模式發送數據并接收返回值

參數:

hspi:SPI編號

pTxData:寫入的數據

pRxData:讀取的數據

Size:寫入數據的字節數

Timeout:最大傳輸時間,超過傳輸時間將自動退出函數

返回值:無

示例代碼:

uint8_t TxData[2]={0x11,0x22};uint8_t RxData[2]; //在100ms以內,使用SPI1,寫入0x11和0x22,并等待接收的返回值HAL_SPI_TransmitReceive(&spi1,(uint8_t*)TxData,(uint8_t*)TxData,2,100);

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4419

    瀏覽量

    67730
  • HAL
    HAL
    +關注

    關注

    2

    文章

    75

    瀏覽量

    13720
  • 系統
    +關注

    關注

    1

    文章

    1047

    瀏覽量

    22368
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    《機智云Gokit3開發篇》4 RGB燈的介紹與驅動移植(HAL

    的色彩控制能力。本文聚焦Gokit3開發板(MCU模式,主控STM32F103C8T6),以HAL為開發基礎,從P9813驅動芯片的工作原理入手,系統講解RGB燈的
    的頭像 發表于 01-28 19:11 ?5201次閱讀
    《機智云Gokit3開發篇》4 RGB燈的介紹與驅動移植(<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>)

    嵌入式開發常用函數速查表

    在嵌入式開發中,掌握常用函數的用法可以大大提高開發效率。無論是單片機初學者還是有一定經驗的工程師,熟悉函數庫和調用方式都是必備技能。今天,我們為大家整理一份嵌入式開發常用
    的頭像 發表于 01-19 09:06 ?386次閱讀
    嵌入式開發<b class='flag-5'>常用</b><b class='flag-5'>函數</b>速查表

    請問怎么封裝函數庫

    怎么封裝函數庫,只留一些回調函數和引腳定義,完整程序不讓人看
    發表于 12-22 13:49

    HTTP開發必備:核心與httpplus擴展應用示例全攻略

    HTTP開發的必備參考!本文匯總核心基礎操作與httpplus擴展高級特性,通過示例解析,讓你快速上手各類HTTP開發需求。
    的頭像 發表于 09-20 15:19 ?3266次閱讀
    HTTP開發必備:核心<b class='flag-5'>庫</b>與httpplus擴展<b class='flag-5'>庫</b>應用示例全攻略

    在rtthread的main函數里用HAL_Delay函數不起作用是哪里的問題?

    在rtthread的main函數里用HAL_Delay函數無效,我設置延時500ms打印一次,但是實際上,一秒打印了幾百次,很顯然是HAL_Delay出現了問題。用RT_thread_
    發表于 09-15 07:53

    請問hal的硬件spi,怎么修改spi時鐘的占空比?

    請問hal的硬件spi,該怎么修改spi時鐘的占空比呀?
    發表于 07-28 07:50

    詳解hal_entry入口函數

    當使用RTOS時,程序從main函數開始進行線程調度;當沒有使用RTOS時,C語言程序的入口函數main函數調用了hal_entry函數。由
    的頭像 發表于 07-25 15:34 ?2105次閱讀

    SPI+DMA一直發會進入HAL_BUSY無法跳出是怎么回事?

    HAL_SPI_STATE_BUSY_TX_RX狀態。 通過查看HAL,可以找到State在HAL_SPI_IRQHandler中可被設置為READY狀態。但實際使用時,會有中斷
    發表于 07-18 06:38

    自己寫:構建庫函數雛形

    實際上,構建固件是一件費時費力的事情,并且它對開發者對芯片的熟悉程度有一定的要求。甚至,當一個固件的封裝程度很高時,想要閱讀并理解該固件的底層代碼也會變成一件有較高難度的事情。瑞薩RA系列
    的頭像 發表于 06-19 11:19 ?1251次閱讀
    自己寫<b class='flag-5'>庫</b>:構建庫<b class='flag-5'>函數</b>雛形

    達夢數據常用管理SQL命令詳解

    達夢數據常用管理SQL命令詳解
    的頭像 發表于 06-17 15:12 ?7449次閱讀
    達夢數據<b class='flag-5'>庫</b><b class='flag-5'>常用</b>管理SQL命令詳解

    MSP430常用內聯函數說明

    電子發燒友網站提供《MSP430常用內聯函數說明.docx》資料免費下載
    發表于 06-05 17:20 ?0次下載

    基于STM32 HAL與標準的esp8266接入機智云方案(二)

    在《基于STM32HAL與標準的esp8266接入機智云方案(一)》中,我們詳細介紹了硬件連接和機智云客戶端的創建。本篇將重點講解如何下載代碼、分析下載的代碼,并直接使用這些代碼連接機智云。同時
    的頭像 發表于 05-28 18:02 ?1529次閱讀
    基于STM32 <b class='flag-5'>HAL</b><b class='flag-5'>庫</b>與標準<b class='flag-5'>庫</b>的esp8266接入機智云方案(二)

    HAL15xy_SOT23

    HAL1501SU-A,HAL1502SU-A,HAL1503SU-A,HAL1504SU-A,HAL1505SU-A,
    發表于 05-14 15:03 ?0次下載

    為什么無法使用HAL配置I2S?

    無法使用 HAL 配置 I2S
    發表于 04-21 07:18

    STM32開發入門進階必備!《STM32嵌入式系統開發—基于STM32CubeMX和HAL》新書發布!

    近日,由華清遠見教育科技集團精心編撰的教育部高等學校電子信息類專業教學指導委員會規劃教材、普通高等教育電子信息類專業系列教材——《STM32嵌入式系統開發—基于STM32CubeMX和HAL》重磅
    的頭像 發表于 04-03 14:54 ?2121次閱讀
    STM32開發入門進階必備!《STM32嵌入式系統開發—基于STM32CubeMX和<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>》新書發布!