日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月09日(星期三)

2018年07月09日 | STM32F1x系列——GPIO操作

發(fā)布者:JoyfulSerenade 來源: eefocus關鍵字:STM32F1x系列  GPIO操作 手機看文章 掃描二維碼
隨時隨地手機看文章

GPIO 即通用輸入輸出口。凡事都要熟悉,熟能生巧。一定要掌握MDK軟件的工程操作方法。

對于GPIO的操作。

Project里面要有以下幾個文件夾(開發(fā)之前需要包含相應的庫文件,這里默認已經(jīng)包含)

STEP BY STEP(以按鍵和LED燈為例):

1.在USER文件夾里新建對應功能的C文件和H文件(這里對應 Key.c  Key.h  LED.c   LED.h)其中C文件用來進行對應外設的硬件配置,H文件是申明對應C文件里面定義的配置函數(shù)。注意H文件開頭要檢查以下時候需要檢查以下重復定義的情況, 如下:

#ifndef __EXTI_H
#define __EXTI_H

2.下面重點總結(jié)下功能C文件里面對應外設的硬件配置過程。

STEP1:建立數(shù)據(jù)結(jié)構(gòu),配置工作時鐘

STM32這種單片機51單片機的很大不同就是,對應不同功能的硬件有相應的工作時鐘與其對應。這個時鐘是必不可少的,就像人的心臟一樣。

先建立數(shù)據(jù)結(jié)構(gòu)GPIO_InitTypeDef GPIO_InitStructure;

然后配置時鐘,RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);

可能每次你都不清楚,為什么硬件配置要那么來,從庫開發(fā)的角度來說,要學會去看庫的幫助文件,打開之后找到Data Structure這一塊,找到對應的GPIO的數(shù)據(jù)結(jié)構(gòu)。

而庫開發(fā)不同關于寄存器開發(fā)的地方是,庫是間接的用數(shù)據(jù)結(jié)構(gòu)去填充寄存器。所以首先得要有這個對應的數(shù)據(jù)結(jié)構(gòu),也就是這里的 GPIO_InitStructure;

打開幫助中GPIO_InitTypeDef 這個結(jié)構(gòu)體,里面的變量結(jié)構(gòu)就可以看出來,分別是:管腳(pin),速度(speed),工作模式(Mode)

00091 typedef struct

00092 {

00093   uint16_t GPIO_Pin;             /*!< Specifies the GPIO pins to be configured.

00094                                       This parameter can be any value of @ref GPIO_pins_define */

00095 

00096   GPIOSpeed_TypeDef GPIO_Speed;  /*!< Specifies the speed for the selected pins.

00097                                       This parameter can be a value of @ref GPIOSpeed_TypeDef */

00098 

00099   GPIOMode_TypeDef GPIO_Mode;    /*!< Specifies the operating mode for the selected pins.

00100                                       This parameter can be a value of @ref GPIOMode_TypeDef */

00101 }GPIO_InitTypeDef;


然后依照每個變量的值的情況進行賦值如:GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;其實在GPIO_InitStructure結(jié)構(gòu)體中的變量都是枚舉型的,也就是說它的值都是一定的,是個常數(shù)。


void GPIO_Init

(

GPIO_TypeDef * 

GPIOx,


GPIO_InitTypeDef* 

GPIO_InitStruct


)


2.初始化寄存器(數(shù)據(jù)結(jié)構(gòu)映射到寄存器中)


到這里還沒有好,這一步僅僅是把你申明的一個結(jié)構(gòu)體變量的每個部分確定了,還沒有映射到寄存器中去,那么怎么映射到寄存器中去呢?庫開發(fā)早就已經(jīng)設計了一個映射的功能函數(shù)在幫助里面可以看到,這個函數(shù)的用法如:GPIO_Init(GPIOC, &GPIO_InitStructure);

 View Code


 View Code


結(jié)論:


GPIO的設置分為四步


1.申明結(jié)構(gòu)體     GPIO_InitTypeDef  GPIO_InitStructure;


2.設置時鐘        RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);


3.結(jié)構(gòu)體賦值     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;


  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   


                       GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 


4.初始化寄存器  GPIO_Init(GPIOC, &GPIO_InitStructure);


設置多個GPIO的時候,如果Mode和Speed都是一樣的,就只可以設置一次就行。


參考:http://blog.chinaaet.com/cpb0508/p/5100018550


關鍵字:STM32F1x系列  GPIO操作 引用地址:STM32F1x系列——GPIO操作

上一篇:STM32 GPIO使用超強總結(jié)
下一篇:STM32 的gpio mode set 詳解

推薦閱讀

新浪科技訊 7月9日早間消息,昨晚,華為消費者業(yè)務CEO余承東發(fā)布了一條消息,稱很多中國企業(yè)把上市以及上市之后的一夜暴富,作為成功與偉大的標志。從這個角度看,身邊這兩棟才50來層的樓無比高大,遠處那個100多層真正最高的上海中心,卻顯得低矮很多!企業(yè)經(jīng)營,是一場沒有終點的馬拉松。而真正持續(xù)為國家不斷貢獻更大長期價值的,應該才是的真正國家棟...
人類的進化發(fā)展史就是一部人類制造和使用工具的歷史,不同的工具代表了人類的進化水平。從石器時代、鐵器時代、蒸汽時代、電氣時代再到現(xiàn)在的信息時代,我們使用更加先進便捷的工具來改變生產(chǎn)和生活。 工具的目的是延伸和拓展人類的能力,我們跑得不快,但可以借助騎馬和開車日行千里,跳得不高,更不會飛,但是借助飛機火箭上天入地。工具總體來看可以分...
ATtiny13包含64字節(jié)的EEPROM數(shù)據(jù)存儲器。它是作為一個獨立的數(shù)據(jù) 可以按字節(jié)讀寫。EEPROM的壽命至少為 100,000 次擦除周期。EEPROM 的訪問由地 址寄存器、數(shù)據(jù)寄存器和控制寄存器決定。詳見 P100 中 EEPROM的串行數(shù)據(jù)下載。EEPROM 讀/ 寫訪問EEPROM 讀/ 寫訪問EEPROM 的訪問寄存器位于I/O 空間。EEPROM的寫訪問時間由Table 1給出。自定時功...
全球半導體供應短缺的情況愈演愈烈,已影響到汽車及許多其他產(chǎn)品的生產(chǎn),鉅亨網(wǎng)援引外媒消息指出,美國前總統(tǒng)特朗普也是導致芯片短缺的兇手之一。據(jù)悉,特朗普于2018年對中國價值340億美元進口產(chǎn)品征收25%的關稅,其中就包括半導體。在目前半導體價格上漲的情況下,這些關稅仍然有效,從中國進口的芯片已經(jīng)減少了一半。另外,在2019年特朗普政府禁止美企向...

史海拾趣

問答坊 | AI 解惑

披露外商半導體公司在華設立研發(fā)中心的居心

也許大家在看到“披露外商半導體公司在華設立研發(fā)中心的居心?”這個標題時,會覺得博主是個憤青,可是我實在不知道用什么標題了。請大家將就吧。 10年前,當我剛進入半導體產(chǎn)業(yè)時,我對半導體是七竊通了六竊。 筆者在上篇“外企在華設立研發(fā)中心 ...…

查看全部問答∨

來聊聊1138和8962的區(qū)別

  現(xiàn)象: 在網(wǎng)上下載的1138的tft2.4的例子同一型號的屏在8962上就運行不起來 sd_FAT32驅(qū)動的例子也在我的板子上運行不起來  但是針對8962的例子就完全可以  時鐘頻率(分頻方式都一樣)、i/o差不多什么都一樣的,具體會有什么不 ...…

查看全部問答∨

DeviceEmulatorBSP 制作模擬器

請問一下各位高手,利用DeviceEmulatorBSP.msi怎么制作自己需要的SDK并包含有模擬器??? 網(wǎng)上找了一些資料,但是制作出來的SDK無法彈出模擬器出來!不知道怎么使用?!?

查看全部問答∨

學驅(qū)動開發(fā)難嗎?我想學

目前主要會C方面的東西,驅(qū)動開發(fā)都需要哪個方面的知識?最快多長時間能學完工作?…

查看全部問答∨

winCE上面的串口通信問題

下面是我的一段測試代碼: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO.Ports; namespac ...…

查看全部問答∨

ARM Architecture 0002

ARM  CPU的工作模式: 1.User:該模式為Unprivileged modes,該模式下的程序不能訪問受保護的系統(tǒng)資源,不能更改CPU工作模式。如果需要跳出該模式,程序需要拋出一個異常(Exception),使CPU進入\"Exception\"模式。\"User\"模式下可以使用的 ...…

查看全部問答∨

msp430

誰有有關《MSP430系列單片機系統(tǒng)工程設計與實踐》電子書啊…

查看全部問答∨

搶發(fā)第一帖??!Hercules介紹

作為第一個在Hercules板塊中發(fā)帖滴人,怎么著也要發(fā)點兒資料! 上點兒介紹性的內(nèi)容吧,好多人應該都不知道這是啥。 什么是 Hercules?Hercules 安全微處理器是基于 TI 針對汽車電子市場的 20 多年安全關鍵型系統(tǒng)專業(yè)技術(shù)、行業(yè)協(xié)作而發(fā)展成熟的硬 ...…

查看全部問答∨

Zigbee協(xié)議棧中文說明

1.概述 1.1解析ZigBee堆棧架構(gòu)ZigBee堆棧是在IEEE 802.15.4標準基礎上建立的,定義了協(xié)議的MAC和PHY層。ZigBee設備應該包括IEEE802.15.4(該標準定義了RF射頻以及與相鄰設備之間的通信)的PHY和MAC層,以及ZigBee堆棧層:網(wǎng)絡層(NWK)、應用層和 ...…

查看全部問答∨

提問+RC降壓求助,沒有輸出

本帖最后由 孟令民 于 2014-3-14 09:37 編輯 RC降壓求助,沒有輸出。我是在網(wǎng)上查的資料根據(jù)網(wǎng)上的電路圖自己焊了一個,就是沒有輸出不知道為什么。還請壇友們幫忙解答下,非常感謝。用的是安規(guī)電容,24v 4749穩(wěn)壓管。備注:沒有輸出問題已經(jīng)查到 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved