freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

跑馬燈實(shí)驗(yàn)ppt課件-在線瀏覽

2025-03-06 08:57本頁(yè)面
  

【正文】 PIO_Pin 用來(lái)設(shè)置是要初始化哪個(gè)或者哪些 IO 口; 第二個(gè)成員變量 GPIO_Mode 是用來(lái)設(shè)置對(duì)應(yīng) IO 端口的輸出輸入模式,這些模式是上面我們講解的 8 個(gè)模式, 在 MDK 中是通過(guò)一個(gè)枚舉類(lèi)型定義的 typedef enum { GPIO_Mode_AIN = 0x0, //模擬輸入 GPIO_Mode_IN_FLOATING = 0x04, //浮空輸入 GPIO_Mode_IPD = 0x28, //下拉輸入 GPIO_Mode_IPU = 0x48, //上拉輸入 GPIO_Mode_Out_OD = 0x14, //開(kāi)漏輸出 GPIO_Mode_Out_PP = 0x10, //通用推挽輸出 GPIO_Mode_AF_OD = 0x1C, //復(fù)用開(kāi)漏輸出 GPIO_Mode_AF_PP = 0x18 //復(fù)用推挽 } GPIOMode_TypeDef。 IDR 是一個(gè)端口輸入數(shù)據(jù)寄存器,只用了低 16 位。該寄存器各位的描述如圖 所示: 要想知道某個(gè) IO 口的電平狀態(tài),你只要讀這個(gè)寄存器,再看某個(gè)位的狀態(tài)就可以了。 在固件庫(kù)中操作 IDR 寄存器讀取 IO 端口數(shù)據(jù)是通過(guò) GPIO_ReadInputDataBit 函數(shù)實(shí)現(xiàn)的: uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 比如我要讀 的電平狀態(tài),那么方法是: GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_5)。 ODR 是一個(gè)端口輸出數(shù)據(jù)寄存器,也只用了低 16 位。而向該寄存器寫(xiě)數(shù)據(jù),則可以控制某個(gè) IO 口的輸出電平。 該函數(shù)一般用來(lái)往一次性一個(gè) GPIO 的多個(gè)端口設(shè)值。 該寄存器和 ODR 寄存器具有類(lèi)似的作用,都可以用來(lái)設(shè)置 GPIO 端口的輸出位是 1 還是 0。 例如你要設(shè)置 GPIOA 的第 1 個(gè)端口值為 1,那么你只需要往寄存器 BSRR 的低 16 位對(duì)應(yīng)位寫(xiě) 1 即可: GPIOABSRR=11。 BRR 寄存器是端口位清除寄存器。 在 STM32 固件庫(kù)中, 通過(guò) BSRR 和 BRR 寄存器設(shè)置 GPIO 端口輸出是通過(guò)函數(shù) GPIO_SetBits()和函數(shù) GPIO_ResetBits()來(lái)完成的。 void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) 在多數(shù)情況下,我們都是采用這兩個(gè)函數(shù)來(lái)設(shè)置 GPIO 端口的輸入和輸出狀態(tài)。 反之如果要設(shè)置 輸出位 0,方法為: GPIO_ResetBits (GPIOB, GPIO_Pin_5)。 雖然 IO 操作步驟很簡(jiǎn)單,這里我們還是做個(gè)概括性的總結(jié),操作步驟為: 1) 使能 IO 口時(shí)鐘。 2) 初始化 IO 參數(shù)。 3) 操作 IO。 硬件設(shè)計(jì) 本章用到的硬件只有 LED( DS0 和 DS1)。 DS0 接 PB5, DS1 接 PE5。 軟件設(shè)計(jì) 跑馬燈實(shí)驗(yàn)我們主要用到的固件庫(kù)文件是: / stm32f10x_usart / 其中 頭文件在每個(gè)實(shí)驗(yàn)中都要引入,因?yàn)橄到y(tǒng)時(shí)鐘配置函數(shù)以及相關(guān)的外設(shè)時(shí)鐘使能函數(shù)都在這個(gè)其源文件 中。 在 文件里面,我們注釋掉其他不用的頭文件,只引入以下頭文件: include include include include 首先,找到之前 新建的 Template 工程, 在該文件夾下面新建一個(gè) HARDWARE 的文件夾,用來(lái)存儲(chǔ)以后與硬件相關(guān)的代碼, 然后在 HARDWARE 文件夾下新建一個(gè) LED 文件夾,用來(lái)存放與 LED 相關(guān)的代碼。在該文件中輸入如下代碼: include //初始化 PB5 和 PE5 為輸出口 .并使能這兩個(gè)口的時(shí)鐘 //LED IO 初始化 void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure。 //使能 PB,PE 端口時(shí)鐘 = GPIO_Pin_5。 //推挽輸出 = GPIO_Speed_50MHz。GPIO_InitStructure)。 // 輸出高 = GPIO_Pin_5。GPIO_InitStructure)。 / 輸出高 } 該代碼里面就包含了一個(gè)函數(shù) void LED_Init(void),該函數(shù)的功能就是用來(lái)實(shí)現(xiàn)配置 PB5和 PE5 為推挽輸出。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE)。 在配置完時(shí)鐘之后, LED_Init 配置了 和 的模式為推挽輸出,并且默認(rèn)輸出 1。 函數(shù)代碼是: = GPIO_Pin_5。 //推挽輸出 = GPIO_Speed_50MHz。GPIO_Ini
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1