国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HAL庫常用函數(shù)匯總

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

掃碼添加小助手

加入工程師交流群


1,系統(tǒng)函數(shù)

HAL_Delay

原型:void HAL_Delay(uint32_t Delay);

作用:利用滴答定時(shí)器生成的系統(tǒng)延遲函數(shù)

參數(shù):

Delay:延遲時(shí)間,單位是ms

返回值:無

示例代碼:

HAL_Delay(50);//延遲50ms

2,GPIO函數(shù)

HAL_GPIO_WritePin

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

作用:使得某一個(gè)GPIO的Pin的狀態(tài)變成高電平或者低電平

參數(shù):

GPIOx:引腳選擇

GPIO_Pin:引腳編號(hào)選擇

PinState:引腳狀態(tài)設(shè)置

返回值:無

示例代碼:

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

HAL_GPIO_TogglePin

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

作用:使得某一個(gè)GPIO的Pin的狀態(tài)翻轉(zhuǎn)

參數(shù):

GPIOx:引腳選擇

GPIO_Pin:引腳編號(hào)選擇

返回值:無

示例代碼:

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

HAL_GPIO_ReadPin

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

作用:讀取某一個(gè)GPIO的Pin的狀態(tài)翻轉(zhuǎn)

參數(shù):

GPIOx:引腳選擇

GPIO_Pin:引腳編號(hào)選擇

返回值:某一個(gè)GPIO的Pin的狀態(tài)。

GPIO_PIN_SET:當(dāng)前狀態(tài)為高電平

GPIO_PIN_RESET:當(dāng)前狀態(tài)為低電平

示例代碼:

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

3,UART函數(shù)

printf重定向

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

作用:printf重定向

參數(shù):系統(tǒng)參數(shù),無需關(guān)心

返回值:系統(tǒng)參數(shù),無需關(guān)心

示例代碼:

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);

作用:串口以阻塞式發(fā)送數(shù)據(jù)

參數(shù):

huart:串口號(hào)選擇

pData:發(fā)送的數(shù)據(jù)

Size:發(fā)送數(shù)據(jù)的長度

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

返回值:無

示例代碼:

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

HAL_UART_Receive_IT

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

作用:串口以中斷方式接收數(shù)據(jù)

參數(shù):

huart:串口號(hào)選擇

pData:發(fā)送的數(shù)據(jù)

Size:發(fā)送數(shù)據(jù)的長度

返回值:無

示例代碼:

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

HAL_UART_RxCpltCallback

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

作用:串口接收完成的中斷回調(diào)函數(shù)

參數(shù):系統(tǒng)參數(shù),無需關(guān)心

返回值:無

示例代碼:

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

3,IIC函數(shù)

HAL_I2C_Master_Transmit

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

作用:IIC以主機(jī)模式發(fā)送數(shù)據(jù)

參數(shù):

hi2c:IIC編號(hào)

DevAddress:寫入的地址

pData:寫入的數(shù)據(jù)

Size:寫入數(shù)據(jù)的字節(jié)數(shù)

Timeout 最大傳輸時(shí)間,超過傳輸時(shí)間將自動(dòng)退出傳輸函數(shù)

返回值:無

示例代碼:

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

4,SPI函數(shù)


HAL_SPI_TransmitReceive

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

作用:SPI以阻塞模式發(fā)送數(shù)據(jù)并接收返回值

參數(shù):

hspi:SPI編號(hào)

pTxData:寫入的數(shù)據(jù)

pRxData:讀取的數(shù)據(jù)

Size:寫入數(shù)據(jù)的字節(jié)數(shù)

Timeout:最大傳輸時(shí)間,超過傳輸時(shí)間將自動(dòng)退出函數(shù)

返回值:無

示例代碼:

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4409

    瀏覽量

    66979
  • HAL
    HAL
    +關(guān)注

    關(guān)注

    2

    文章

    73

    瀏覽量

    13566
  • 系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    1043

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    HTTP開發(fā)必備:核心與httpplus擴(kuò)展應(yīng)用示例全攻略

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

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

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

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

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

    詳解hal_entry入口函數(shù)

    當(dāng)使用RTOS時(shí),程序從main函數(shù)開始進(jìn)行線程調(diào)度;當(dāng)沒有使用RTOS時(shí),C語言程序的入口函數(shù)main函數(shù)調(diào)用了hal_entry函數(shù)。由
    的頭像 發(fā)表于 07-25 15:34 ?1704次閱讀

    達(dá)夢數(shù)據(jù)常用管理SQL命令詳解

    達(dá)夢數(shù)據(jù)常用管理SQL命令詳解
    的頭像 發(fā)表于 06-17 15:12 ?6680次閱讀
    達(dá)夢數(shù)據(jù)<b class='flag-5'>庫</b><b class='flag-5'>常用</b>管理SQL命令詳解

    MSP430常用內(nèi)聯(lián)函數(shù)說明

    電子發(fā)燒友網(wǎng)站提供《MSP430常用內(nèi)聯(lián)函數(shù)說明.docx》資料免費(fèi)下載
    發(fā)表于 06-05 17:20 ?0次下載

    基于STM32 HAL與標(biāo)準(zhǔn)的esp8266接入機(jī)智云方案(二)

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

    HAL15xy_SOT23

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

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

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

    STM32開發(fā)入門進(jìn)階必備!《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和HAL》新書發(fā)布!

    近日,由華清遠(yuǎn)見教育科技集團(tuán)精心編撰的教育部高等學(xué)校電子信息類專業(yè)教學(xué)指導(dǎo)委員會(huì)規(guī)劃教材、普通高等教育電子信息類專業(yè)系列教材——《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和HAL》重磅
    的頭像 發(fā)表于 04-03 14:54 ?1410次閱讀
    STM32開發(fā)入門進(jìn)階必備!《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>》新書發(fā)布!

    為什么cubemx配置正確,生成的文件無法調(diào)用HAL_UARTEx_ReceiveToIdle_DMA()函數(shù)

    其實(shí)不止HAL_UARTEx_ReceiveToIdle_DMA()函數(shù)HAL_UARTEx_等一系列函數(shù)都無法調(diào)用,使用CTRL+f也無法查找到相關(guān)
    發(fā)表于 03-13 08:19

    Stm32f103 hal如果設(shè)置多個(gè)外部中斷,只要用螺絲刀碰觸其中一個(gè)中斷線,所有的中斷函數(shù)都有可能進(jìn)入,亂跳,為什么?

    Stm32f103 hal如果設(shè)置多個(gè)外部中斷,只要用螺絲刀碰觸其中一個(gè)中斷線,所有的中斷函數(shù)都有可能進(jìn)入,亂跳。同一個(gè)線路板用標(biāo)準(zhǔn)就沒問題。正點(diǎn)原子的開發(fā)版及
    發(fā)表于 03-10 08:07

    HAL和標(biāo)準(zhǔn)你會(huì)選擇哪種

    HAL和標(biāo)準(zhǔn)你會(huì)選擇哪種
    發(fā)表于 03-10 06:25

    如何將HAL轉(zhuǎn)為LL

    怎么將HAL轉(zhuǎn)為LL
    發(fā)表于 03-10 06:08

    STM32CubeMX生成的代碼,是怎樣的HAL架構(gòu)?

    需要注意,CubeMX只是一個(gè)初始化工具,它只是幫你完成了HAL外設(shè)和時(shí)鐘的初始化,具體程序的編寫還需要查閱HAL的說明,使用相關(guān)函數(shù)實(shí)
    的頭像 發(fā)表于 01-01 21:01 ?1283次閱讀
    STM32CubeMX生成的代碼,是怎樣的<b class='flag-5'>HAL</b>架構(gòu)?