色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          STM32 通用IO讀寫(xiě)

          作者: 時(shí)間:2018-07-24 來(lái)源:網(wǎng)絡(luò) 收藏

          是基于ARM Cortex-M3內(nèi)核的芯片,專(zhuān)為要求高性能、低成本、低功耗的嵌入式應(yīng)用設(shè)計(jì)的芯片。1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻轉(zhuǎn)速度。
          我學(xué)的是F103。它的內(nèi)核為:ARM 32位的Cortex -M3 CPU,它的工作頻率最高可以達(dá)到72MHZ。2個(gè)12位AD(16路通道),80個(gè)通用I/O接口,7個(gè)定時(shí)器,9個(gè)通信接口。
          (一)通用I/O接口
          主要要達(dá)到的目的是:1、了解通用I/O接口的接口和性能。2、了解復(fù)用功能和重映射。3、掌握通用I/O接口的程序設(shè)計(jì)方法。
          1.1.1通用I/O(GPIO)接口的結(jié)構(gòu):
          一個(gè)GPIO引腳包含以下幾個(gè)寄存器:①兩個(gè)32位的配置寄存器(GPIOx_CRL,GPIOx_CRH),②兩個(gè)32位的數(shù)據(jù)寄存器(GPIOx_IDR,GPIOx_ODR),③一個(gè)16位的復(fù)位寄存器(GPIOx_BRR),④一個(gè)32位的置位/復(fù)位寄存器(GPIOx_BSRR),⑤一個(gè)32位的鎖定寄存器(GPIOx_LCKR)。所有寄存器不允許按照半字節(jié)或字節(jié)訪問(wèn),必須按32位字訪問(wèn)。
          1.1.2每一個(gè)GPIO引腳都可以在程序中配置成如下幾種模式:輸入懸空,輸入上拉,輸入下拉,模擬輸入,開(kāi)漏輸出,推挽式輸出,,推挽式復(fù)用功能,開(kāi)漏復(fù)用功能。
          這些模式通過(guò)CNF[1:0]和MODE[1:0]來(lái)完成配置
          1.2.1通用I/O(GPIO)接口的功能
          GPIO有四種功能:1通用的I/O接口。2單獨(dú)的為設(shè)置或者位刪除。3外中斷/喚醒線、4復(fù)用功能(AF)和重映射、5GPIO的功能鎖定
          1.2.11通用I/O:在復(fù)位期間和剛復(fù)位之后,復(fù)位功能未開(kāi)啟,I/O口被配置成浮空輸入模式(CNFx[1:0]=01b,MODE[1:0]=00b)
          1.2.12單獨(dú)的位設(shè)置和位清除:當(dāng)對(duì)GPIOx_ODR的個(gè)別位進(jìn)行設(shè)置時(shí),在單次APB2寫(xiě)操作里,可以改變一個(gè)或多個(gè)位。這是通過(guò)對(duì)GPIOx_BSRR和GPIOx_BRR來(lái)實(shí)現(xiàn)的。想改變某一位可以單獨(dú)對(duì)這位寫(xiě)1,寫(xiě)0則此位不被更改。
          1.2.13外部中斷:當(dāng)使用外部中斷線時(shí),相應(yīng)引腳必須配置成“輸入模式”。
          1.2.14復(fù)用功能(AF)和重映射:
          復(fù)用輸入:端口可以配置成輸入模式和輸出模式
          復(fù)用輸出:端口必須配置成復(fù)用功能輸出模式(推挽或開(kāi)漏),這樣使引腳和輸出寄存器斷開(kāi),并和片上外設(shè)的輸出信號(hào)連接。
          雙向復(fù)用功能:端口必須配置成復(fù)用模式功能輸出模式(推挽和開(kāi)漏)
          1.2.15GPIO的鎖定機(jī)制:為了防止I/O配置被更改,可以單獨(dú)對(duì)某個(gè)位進(jìn)行鎖定使其在下一次復(fù)位之前不可以在被更改。
          1.2.2GPIO的功能配置
          1.2.21輸入配置
          1.2.22輸出配置
          1.2.23復(fù)用功能配置
          1.2.24模擬輸入配置
          1.2.3復(fù)用功能與重映射
          ①OSC_IN和OSC_OUT引腳通過(guò)AFIO_MAPR來(lái)實(shí)現(xiàn)對(duì)他們的重映射。
          ②BXCAN可以被映射到端A、B、D上,由CAN_REMAP[1:0]來(lái)設(shè)置
          ③調(diào)試接口信號(hào)的映射
          ④定時(shí)器的重映射分別由TIM1_REMAP[1:0],TIM2_REMAP[1:0],TIM3_REMAP[1:0],TIM4_REMAP[1:0]來(lái)設(shè)置
          ⑤USART1的重映射由寄存器USART1_REMAP[1:0];來(lái)設(shè)置=0為PA9和PA10,=1為PB6和PB7。
          USART2的重映射寄存器為USART2_REMAP[1:0].
          USART3的重映射寄存器為USART3_REMAP[1:0]
          ⑥I2C的重映射寄存器為I2C_REMAP=0為PB6和PB7,=1為PB8和PB9,
          ⑦SPI1的重映射寄存器為SPI1_REMAP=0為PA4,PA5,PA6,PA7.SPI1_REMAP=1為PA15,PB3,PB4,PB5
          2.1.1通用I/O接口的編程方法
          ST公司已經(jīng)提供了比較完善的通用I/O的接口庫(kù),其位于“stm32f10x_gpio.c”中對(duì)應(yīng)的頭文件為“stm32f10x_gpio.h”
          GPIO_DeInit函數(shù):GPIO寄存器復(fù)位為默認(rèn)值
          GPIO_AFIODeInit函數(shù):復(fù)用功能寄存器復(fù)位為默認(rèn)值
          GPIO_Init函數(shù):用于按照指定參數(shù)初始化GPIO部件
          GPIO_StructInit函數(shù):用于為GPIO_InitStruct各個(gè)成員賦默認(rèn)值
          GPIO_ReadInputDataBit函數(shù):用以讀取特定輸入端口引腳
          GPIO_ReadInputData函數(shù):用于讀取特定GPIO輸入端口引腳
          GPIO_ReadOutputDataBit函數(shù):用于讀取特定輸出數(shù)據(jù)端口位
          GPIO_ReadOutputData函數(shù):用于讀取特定GPIO輸出數(shù)據(jù)端口
          GPIO_SetBits函數(shù):用于置位選定的數(shù)據(jù)端口位
          GPIO_ResetBits函數(shù):用于清除選定的數(shù)據(jù)端口位
          GPIO_WriteBit函數(shù):
          GPIO_Write函數(shù):用于寫(xiě)數(shù)據(jù)到特定的端口
          GPIO_PinLockConfig函數(shù):用于鎖定GPIO引腳配置寄存器
          GPIO_EventOutputConfig函數(shù):用于選擇GPIO引腳用作事件輸出
          GPIO_EventOutputCmd函數(shù):GPIO使能(禁用)STM32事件輸出
          GPIO_PinRemapConfig函數(shù):用于改變特定引腳的映射
          GPIO_EXTILineCongig函數(shù):用于選擇GPIO引腳作為EXTI線
          GPIO寄存器結(jié)構(gòu)
          typedef struct
          {
          vu32 CRL;
          vu32 CRH;
          vu32 IDR;
          vu32 ODR;
          vu32 BSRR;
          vu32 BRR;
          vu32 LCKR;
          }GPIO_TypeDef;
          復(fù)用功能寄存器結(jié)構(gòu):
          typedef struct
          {
          vu32 EVCR;
          vu32 MAPR;
          vu32 EXTICR[4];
          }AFIO_TypeDef;

          本文引用地址:http://cafeforensic.com/article/201807/383677.htm
          • STM32單片機(jī)中文官網(wǎng)
          • STM32單片機(jī)官方開(kāi)發(fā)工具
          • STM32單片機(jī)參考設(shè)計(jì)


          關(guān)鍵詞: STM32 通用IO讀寫(xiě)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉