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

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

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

stm32中的io函數(shù) STM32中的IO操作

如意 ? 來源:CSDN ? 作者:CSDN ? 2021-07-22 15:29 ? 次閱讀

stm32中的io函數(shù) STM32中的IO操作

STM32系列單片機(jī)芯片的庫函數(shù)有很多種,而負(fù)責(zé)IO操作的庫函數(shù)是GPIO,GPIO函數(shù)在STM32單片機(jī)頭文件stm32f10x_gpio.h中聲明,在STM32單片機(jī)的主函數(shù)stm32f10x_gpio.c中完成定義。

GPIO的配置種類有8個,分別是:

1.GPIO_Mode_AIN 模擬輸入

2.GPIO_Mode_IN_FLOATING 浮空輸入

3.GPIO_Mode_IPD 下拉輸入

4.GPIO_Mode_IPU 上拉輸入

5.GPIO_Mode_Out_OD 開漏輸出

6.GPIO_Mode_Out_PP 推挽輸出

7.GPIO_Mode_AF_OD 復(fù)用開漏輸出

8.GPIO_Mode_AF_PP 復(fù)用推挽輸出

基于庫函數(shù)的STM32單片機(jī)的IO口操作步驟:

1.使能IO口時鐘

函數(shù)接口:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);

參數(shù)列表:RCC_APB2Periph:連接在APB2總線上的外設(shè)名稱

NewState:ENANLE或者DISABLE

2、初始化IO口

函數(shù)接口:void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);

參數(shù)列表:GPIOx:IO口的組別,如GPIOA、GPIOB;

GPIO_InitStruct :GPIO初始化結(jié)構(gòu)體

3、調(diào)用IO口控制函數(shù)對IO口電平進(jìn)行控制:

函數(shù)接口

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);

以上是STM32單片機(jī)的IO函數(shù),希望對用戶有所幫助。

本文整合自CSDN

責(zé)編AJX

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

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    355982
收藏 人收藏

    評論

    相關(guān)推薦

    HAL庫在STM32開發(fā)的重要性

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

    λ-IO:存儲計(jì)算下的IO棧設(shè)計(jì)

    動機(jī)和背景? ? 存儲計(jì)算存儲資源的充分利用。IO棧是管理存儲器的的基本組件,包括設(shè)備驅(qū)動、塊接口層、文件系統(tǒng),目前一些用戶空間IO庫(如SPDK)有效降低了延遲,但是io棧仍然不可或缺。這是因?yàn)?
    的頭像 發(fā)表于 12-02 10:35 ?203次閱讀
    λ-<b class='flag-5'>IO</b>:存儲計(jì)算下的<b class='flag-5'>IO</b>棧設(shè)計(jì)

    一文解讀Linux 5種IO模型

    見的IO模型。 當(dāng)發(fā)起一個IO操作時,比如讀取數(shù)據(jù),系統(tǒng)會調(diào)用read()函數(shù)。如果請求的數(shù)據(jù)沒有準(zhǔn)備好,此時進(jìn)程會被掛起(blocked),進(jìn)入等待狀態(tài)。直到數(shù)據(jù)準(zhǔn)備好,而且復(fù)制到應(yīng)
    的頭像 發(fā)表于 11-09 11:12 ?319次閱讀
    一文解讀Linux 5種<b class='flag-5'>IO</b>模型

    本地IO與遠(yuǎn)程IO:揭秘工業(yè)自動化的兩大關(guān)鍵角色

    在工業(yè)自動化領(lǐng)域,IO(Input/Output,輸入/輸出)模塊扮演著至關(guān)重要的角色。它們作為連接控制系統(tǒng)與現(xiàn)場設(shè)備的橋梁,負(fù)責(zé)數(shù)據(jù)的采集與指令的執(zhí)行。然而,隨著技術(shù)的不斷進(jìn)步,IO模塊也分為本地IO和遠(yuǎn)程
    的頭像 發(fā)表于 10-08 18:06 ?401次閱讀

    初識IO-Link及IO-Link設(shè)備軟件協(xié)議棧

    亞信IO-Link設(shè)備軟件協(xié)議棧是基于亞信電子AXM-IOLS IO-Link設(shè)備評估板設(shè)計(jì)的,搭載意法半導(dǎo)體 STM32F469AI微控制器,并在STM32CubeIDE開發(fā)環(huán)境中
    的頭像 發(fā)表于 07-08 13:55 ?2548次閱讀
    初識<b class='flag-5'>IO</b>-Link及<b class='flag-5'>IO</b>-Link設(shè)備軟件協(xié)議棧

    遠(yuǎn)程IO與分布式IO的區(qū)別

    在工業(yè)自動化和控制系統(tǒng)設(shè)計(jì),遠(yuǎn)程IO(Input/Output)和分布式IO是兩個重要的概念。它們各自具有獨(dú)特的特點(diǎn)和優(yōu)勢,適用于不同的應(yīng)用場景。本文將詳細(xì)探討遠(yuǎn)程IO與分布式
    的頭像 發(fā)表于 06-15 15:57 ?2542次閱讀

    請問esp32s3對gpio端口進(jìn)行輸入輸出操作時,有類似stm32的寄存器操作函數(shù)嗎?

    請問esp32s3對gpio端口進(jìn)行輸入輸出操作時,有類似stm32的寄存器操作函數(shù)嗎?即一次控制多個IO口,而不是像gpio_set_le
    發(fā)表于 06-07 07:03

    STM32CubeIde生成的工程,使用printf函數(shù)沒有調(diào)用_write和__io_putchar函數(shù),為什么?

    _putchar(int ch) 函數(shù),發(fā)現(xiàn)沒有串口沒有輸出,使用SWD進(jìn)行debug,并對syscalls.c的_write函數(shù)以及重寫的io_putchar
    發(fā)表于 05-24 06:13

    請問stm8s IO操作如何實(shí)現(xiàn)?

    請教各位了,stm8s IO操作如何實(shí)現(xiàn)像stm32類似的位帶操作啊? #define LEDPAout(0), LED = 1; LED = 0; 單獨(dú)
    發(fā)表于 05-09 07:10

    STM32擴(kuò)展IO口如何做?

    STM32擴(kuò)展IO口,如何做
    發(fā)表于 04-16 08:27

    STM32級聯(lián)2個PCA9539,如何對每個IO口進(jìn)行操作呢?

    STM32級聯(lián)2個PCA9539,怎么對每個IO口進(jìn)行操作呢?
    發(fā)表于 04-08 06:48

    STM32IO口能不能像51的IO口那樣直接控制Px口輸出?

    大家好,STM32IO口能不能像51的IO口那樣直接控制Px口輸出?比如我要用51控制器段數(shù)碼管,只要給Px口送十六進(jìn)制數(shù)值就可以了?請問STM32可以嗎?
    發(fā)表于 04-07 07:59

    stm32 JTAG和普通IO復(fù)用,當(dāng)軟件設(shè)置為普通IO時,還能用JTAG下載軟件嗎?

    stm32 JTAG和普通IO復(fù)用,當(dāng)軟件設(shè)置為普通IO時,還能用JTAG下載軟件嗎。
    發(fā)表于 04-07 07:52

    STM32開發(fā)的位運(yùn)算以及位帶操作

    STM32開發(fā)的位運(yùn)算以及位帶操作? 位運(yùn)算是計(jì)算機(jī)中常用的一種操作方式,特別適用于對數(shù)據(jù)的單個或多個位進(jìn)行操作。在
    的頭像 發(fā)表于 02-02 14:38 ?1649次閱讀

    stm32怎么讀取io口輸入電平

    要讀取STM32IO口輸入電平,你可以使用GPIO外設(shè)來完成。GPIO是通用輸入輸出端口,它可以配置成輸入模式,用于讀取外部信號的電平。 首先,你需要定義一個GPIO_InitTypeDef類型
    的頭像 發(fā)表于 01-05 11:46 ?4921次閱讀