色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

HAL庫(kù)常用函數(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

返回值:無(wú)

示例代碼:

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è)置

返回值:無(wú)

示例代碼:

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)選擇

返回值:無(wú)

示例代碼:

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ù),無(wú)需關(guān)心

返回值:系統(tǒng)參數(shù),無(wú)需關(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ù)的長(zhǎng)度

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

返回值:無(wú)

示例代碼:

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ù)的長(zhǎng)度

返回值:無(wú)

示例代碼:

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ù),無(wú)需關(guān)心

返回值:無(wú)

示例代碼:

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:寫(xiě)入的地址

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

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

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

返回值:無(wú)

示例代碼:

uint16_t Address=0x1234;uint8_t TxData[2]={0x11,0x22}; //在100ms以內(nèi),使用IIC1,采用主機(jī)模式,向地址0x1234寫(xiě)入數(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:寫(xiě)入的數(shù)據(jù)

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

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

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

返回值:無(wú)

示例代碼:

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

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

    關(guān)注

    3

    文章

    4327

    瀏覽量

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

    關(guān)注

    2

    文章

    70

    瀏覽量

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

    關(guān)注

    1

    文章

    1014

    瀏覽量

    21332
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HAL庫(kù)在Arduino平臺(tái)上的使用

    HAL庫(kù)在Arduino平臺(tái)上的使用 Arduino平臺(tái)是一個(gè)開(kāi)源的電子原型平臺(tái),它包括硬件(基于微控制器的電路板)和軟件(Arduino IDE)。Arduino平臺(tái)因其簡(jiǎn)單易用而受到廣泛歡迎
    的頭像 發(fā)表于 12-02 14:04 ?244次閱讀

    HAL庫(kù)和標(biāo)準(zhǔn)庫(kù)的區(qū)別 HAL庫(kù)與CMSIS的關(guān)系

    在嵌入式系統(tǒng)開(kāi)發(fā)中,HAL(硬件抽象層)庫(kù)和標(biāo)準(zhǔn)庫(kù)是兩種常用的軟件庫(kù),它們?cè)诠δ芎褪褂脠?chǎng)景上有所不同。 1. 標(biāo)準(zhǔn)
    的頭像 發(fā)表于 12-02 14:02 ?390次閱讀

    HAL庫(kù)函數(shù)調(diào)用示例

    HAL(Hardware Abstraction Layer,硬件抽象層)庫(kù)是STM32等微控制器中常用庫(kù),它為開(kāi)發(fā)者提供了訪問(wèn)和控制硬件設(shè)備的接口。以下是一些
    的頭像 發(fā)表于 12-02 14:01 ?318次閱讀

    HAL庫(kù)在STM32開(kāi)發(fā)中的重要性

    開(kāi)發(fā)過(guò)程 HAL庫(kù)提供了一套完整的函數(shù)接口,用于操作STM32微控制器的各種外設(shè)和功能模塊。這些函數(shù)接口封裝了底層硬件的復(fù)雜性,使得開(kāi)發(fā)者無(wú)需深入了解硬件細(xì)節(jié)即可實(shí)現(xiàn)功能。因此,
    的頭像 發(fā)表于 12-02 13:35 ?279次閱讀

    如何快速入門HAL庫(kù)編程 HAL庫(kù)與裸機(jī)編程的比較

    如何快速入門HAL庫(kù)編程 要快速入門HAL庫(kù)編程,可以遵循以下步驟: 了解基礎(chǔ)知識(shí) : 掌握C語(yǔ)言編程基礎(chǔ),包括變量、數(shù)據(jù)類型、函數(shù)、指針等
    的頭像 發(fā)表于 12-02 11:39 ?258次閱讀

    HAL庫(kù)在嵌入式系統(tǒng)中的應(yīng)用

    HAL庫(kù)(Hardware Abstraction Layer Library,硬件抽象層庫(kù))在嵌入式系統(tǒng)中扮演著至關(guān)重要的角色。以下是HAL庫(kù)
    的頭像 發(fā)表于 12-02 11:32 ?460次閱讀

    常用SQL函數(shù)及其用法

    SQL(Structured Query Language)是一種用于管理和操作關(guān)系數(shù)據(jù)庫(kù)的編程語(yǔ)言。SQL 提供了豐富的函數(shù)庫(kù),用于數(shù)據(jù)檢索、數(shù)據(jù)更新、數(shù)據(jù)刪除以及數(shù)據(jù)聚合等操作。以下是一些常用
    的頭像 發(fā)表于 11-19 10:18 ?231次閱讀

    labview常用的基本函數(shù)

    電子發(fā)燒友網(wǎng)站提供《labview常用的基本函數(shù).pdf》資料免費(fèi)下載
    發(fā)表于 10-15 17:29 ?7次下載

    手把手帶你移植HAL庫(kù)函數(shù)

    開(kāi)發(fā)者更高效地進(jìn)行嵌入式開(kāi)發(fā)。手把手帶你移植HAL庫(kù)函數(shù)HAL庫(kù)提供了一套抽象接口,使開(kāi)發(fā)者無(wú)需直接操作底層硬件寄存器,就能實(shí)現(xiàn)對(duì)硬件的控制。這種抽象使得代碼能夠更
    的頭像 發(fā)表于 05-18 08:04 ?1864次閱讀
    手把手帶你移植<b class='flag-5'>HAL</b>庫(kù)<b class='flag-5'>函數(shù)</b>

    老版本庫(kù)的TIM_SetCompare2(TIM2, TIMCompare2);函數(shù),在HAL里面對(duì)應(yīng)的是那個(gè)函數(shù)

    老版本庫(kù)的TIM_SetCompare2(TIM2, TIMCompare2);函數(shù),在HAL里面對(duì)應(yīng)的是那個(gè)函數(shù)? 老版本庫(kù)的TIM_Se
    發(fā)表于 05-15 06:09

    HAL庫(kù)的串口收發(fā)函數(shù)HAL的串口DMA方式下不能實(shí)現(xiàn)獨(dú)立的全雙工通信嗎?

    昨天看HAL庫(kù)的串口收發(fā)函數(shù),DMA方式,發(fā)現(xiàn)函數(shù)里竟然有收發(fā)同步的操作,但不太確定,莫非HAL的串口DMA方式下不能實(shí)現(xiàn)獨(dú)立的全雙工通信么
    發(fā)表于 05-14 06:17

    使用HAL庫(kù)SPI讀不到數(shù)據(jù)的原因?

    一直是locked 不知道為什么會(huì)出現(xiàn)lock之后沒(méi)有unlock的情況 因?yàn)槌绦蛲瑫r(shí)只會(huì)有一個(gè)地方調(diào)用SPI函數(shù),所以我在每次發(fā)送前將state和lock的值修改了 這樣修改之后就沒(méi)有再出問(wèn)題了 HAL庫(kù)研究不深,不知道這是B
    發(fā)表于 04-26 07:41

    求助,關(guān)于HAL庫(kù)HAL_UART_Receive使用問(wèn)題求解

    各位好,我在使用HAL庫(kù)HAL_UART_Receive()函數(shù)時(shí)遇到了這樣的問(wèn)題,在第一次使用HAL_UART_Receive()進(jìn)行接
    發(fā)表于 04-10 07:25

    庫(kù)函數(shù)硬件nss有使能spi函數(shù)SPI_Cmd(),但是HAL庫(kù)沒(méi)有找到,怎么使用硬件NSS呢?

    庫(kù)函數(shù)硬件nss有使能spi函數(shù)SPI_Cmd(),但是HAL庫(kù)沒(méi)有找到,怎么使用硬件NSS呢? 以及主機(jī)選擇硬件nss怎么片選從機(jī)?是直接發(fā)送不用管嘛? 從機(jī)選擇硬件nss怎么接收數(shù)
    發(fā)表于 03-28 10:01

    STM32G HAL庫(kù)HAL_init()代碼中,為什么SysTick_Config函數(shù)不調(diào)用?

    STM32G HAL庫(kù)HAL_init()代碼中,為什么SysTick_Config函數(shù)不調(diào)用?
    發(fā)表于 03-12 07:46
    主站蜘蛛池模板: 国产爱豆剧果冻传媒在线| 好妞操| 漂亮美女2018完整版| 中文字幕在线视频免费观看| 精品国产99久久久久久麻豆| 亚久久伊人精品青青草原2020| xxx成熟xxx| 欧美黑大炮18p| 99久久伊人一区二区yy5099| 久久国产免费一区二区三区| 亚洲精品视频免费观看| 国产亚洲精品视频在线网| 无码天堂亚洲内射精品课堂 | 成人在线免费视频播放| 男男腐文污高干嗯啊快点1V1| 总裁呻吟双腿大开男男H| 久久日韩精品无码一区| 亚洲中文字幕手机版| 好男人午夜www视频在线观看 | 歪歪爽蜜臀AV久久精品人人槡| 帝王受PLAY龙椅高肉NP| 任你躁国语自产二区在线播放| 把极品白丝班长啪到腿软| 欧美 亚洲 有码中文字幕| AV国产乱码一区二区三视频| 欧美高清另类video| 57PAO强力打造高清免费| 黄色天堂网| 亚洲视频国产| 欧美末成年videos在线| 99青草青草久热精品视频| 欧美丰满白嫩bbxx| 芭乐草莓樱桃丝瓜18岁大全| 日产国产欧美韩国在线| 国产成人拍精品免费视频爱情岛| 同时被两个男人轮流舔| 国产精品视频国产永久视频| 亚洲白色白色在线播放| 精品国产乱码久久久久久软件| 永久久久免费人妻精品| 色噜噜2017最新综合|