当前位置:网站首页>Introduction au GPIO
Introduction au GPIO
2022-07-06 23:55:00 【Petit Hou... 2022】
GPIOIntroduction
1.Introduction
GPIOEst l'abréviation du port d'entrée / sortie universel,En termes simples,STM32Pins contrôlables,STM32ChipGPIOLa goupille est reliée à un dispositif externe,Pour communiquer avec l'extérieur、Fonctions de contrôle et d'acquisition de données.STM32ChipGPIODivisé en plusieurs groupes,Chaque groupe a16Pins,Si le modèle estSTM32F103VET6Les modèles de puces sontGPIOA、GPIOB、GPIOCàGPIOETotal5GroupeGPIO,Les puces.1O0Pins,Parmi euxGPIOC'est une grande partie de,Tous lesGPIOLes broches ont des fonctions d'entrée et de sortie de base.
La fonction de sortie la plus basique estSTM32La sortie de la broche de commande est élevée、Faible niveau,Réaliser la commande de commutation,Ru - ji.GPIOLes broches sont connectées àLEDLumière,Alors on peut contrôlerLEDLumière allumée et éteinte,Broche à relais ou à triode,Cela permet de contrôler l'allumage et l'arrêt des circuits externes de haute puissance par relais ou triode.
La fonction d'entrée la plus élémentaire est de détecter le niveau d'entrée externe,Ru - ji.GPIOLes broches sont connectées aux touches,Indique si la clé est pressée en fonction du niveau.
1.1 Diode de protection et、Résistance à la traction
**Les deux tubes secondaires de protection de la goupille empêchent l'entrée de haute ou basse tension à l'extérieur de la goupille,**Lorsque la tension de la broche est supérieure àVDDHeure,La Diode supérieure est conductrice,Lorsque la tension de la broche est inférieure àVssHeure,La Diode inférieure est conductrice,Empêcher l'introduction d'une tension anormale dans la puce de brûler la puce.Malgré cette protection,Ça ne veut pas direSTM32 La goupille peut être directement connectée à l'entraînement de haute puissance ,Comme un moteur à entraînement direct, Entraînement forcé ou moteur non tournant , Ou la puce brûle , Doit augmenter la puissance et isoler l'entraînement du circuit .
1.2 P-MOS Tube etN-MOS Tube
GPIO Après avoir traversé les deux diodes de protection , Vers le Haut “Mode d'entrée”Structure, Vers le bas “Mode de sortie”Structure. Regardez d'abord la section mode de sortie , La ligne passe par un PMOSEtN-MOS Circuit unitaire constitué de tubes . Cette structure permet GPIOOui.“Sortie Push - pull”Et“Sortie de fuite ouverte”Deux modes.
Ce qu'on appelleMode de sortie Push - pull, C'est basé sur ces deux - là. MOS La façon dont les tubes fonctionnent est nommée .**Entrez le niveau élevé dans la structure, Après inversion ,En hautP-MOSConduction,En dessousN-MOSFermer,Sortie externe haut niveau;Et l'entrée d'un moment de faible puissance dans la structure, Après inversion ,N-MOSCanalisation,P-MOSFermer,Sortie externe faible niveau.*****Lorsque le niveau de la goupille est commuté,Deux tubes à tour de rôle,PLe tuyau est responsable du remplissage du courant,NLe tube tire le courant,Pour augmenter sa capacité de charge et sa vitesse de commutation beaucoup plus rapidement que d'habitude.*Le bas niveau de la sortie Push - pull est0Volt,Le niveau élevé est3.3Volt, Voir le diagramme de référence pour le circuit équivalent Push - pull , C'est un circuit équivalent en mode de sortie Push - pull .
EtMode de sortie de fuite ouverteHeure,En hautP-MOS Tube complètement inopérant .Si nous contrôlons la sortie comme0,Faible niveau,EtPMOSTube fermé,N-MOSCanalisation, Mise à la terre de la sortie ,Si la sortie de contrôle est1( Il ne peut pas produire directement des niveaux élevés )Heure,EtP-MOSTube etN-MOSLes tuyaux sont fermés,Donc la broche ne produit pas de haut niveau,Pas de sortie de bas niveau,Haute résistance.
La sortie de fuite ouverte est généralement utilisée pourI2C、SMBUS Communications, etc. nécessaires“Lignes et”Dans le circuit de bus de la fonction
typedef enum
{
GPIO_Mode_AIN = 0x0, // Entrée analogique
GPIO_Mode_IN_FLOATING = 0x04, // Entrée flottante
GPIO_Mode_IPD = 0x28, // Drop - down input
GPIO_Mode_IPU = 0x48, // Tirez sur l'entrée
GPIO_Mode_Out_OD = 0x14, // Sortie de fuite ouverte
GPIO_Mode_Out_PP = 0x10, // Sortie Push - pull
GPIO_Mode_AF_OD = 0x1C, // Multiplexage de la sortie de fuite ouverte
GPIO_Mode_AF_PP = 0x18 // Multiplexage Push - Pull Output
} GPIOMode_TypeDef;
1.3AllumezLEDLumière
Processus
1)ActiverIOHorloge de bouche,Par appel:
RCC_ABP2PeriphColckCmd( )
- InitialisationIOMode bouche,Appelez:
GPIO_Init( )
- FonctionnementIOBouche,Haut et bas niveau de sortie
GPIO_SetBits( )
GPIO_ResetBits( )
# Pour augmenter la portabilité du Code , Définir les macros associées au matériel dans bsp_LED.h Moyenne
#ifndef _BSP_LED_H
#define _BSP_LED_H
#define LED1_GPIO_CLK RCC_APB2Periph_GPIOA
#define LED1_GPIO_PORT GPIOA
#define LED1_GPIO_PIN GPIO_Pin_8
#define LED2_GPIO_CLK RCC_APB2Periph_GPIOD
#define LED2_GPIO_PORT GPIOD
#define LED2_GPIO_PIN GPIO_Pin_2
#include "stm32f10x.h"
void LED_GPIO_Config(void);
#endif/*_BSP_LED_H*/
LEDConfiguration d'initialisation
#include "./LED/bsp_led.h"
void LED_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitType_struct_A;
GPIO_InitTypeDef GPIO_InitType_struct_D;
/* Étape 1: allumez l'horloge périphérique */
RCC_APB2PeriphClockCmd(LED1_GPIO_CLK,ENABLE);
RCC_APB2PeriphClockCmd(LED2_GPIO_CLK,ENABLE);
/* Étape 2 configurer la structure d'initialisation périphérique */
GPIO_InitType_struct_A.GPIO_Pin = LED1_GPIO_PIN;
GPIO_InitType_struct_A.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitType_struct_A.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitType_struct_D.GPIO_Pin = LED2_GPIO_PIN;
GPIO_InitType_struct_D.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitType_struct_D.GPIO_Speed = GPIO_Speed_10MHz;
/* Étape 3 appeler la fonction d'initialisation , Écrire les membres de la structure configurée dans le registre */
GPIO_Init(LED1_GPIO_PORT,&GPIO_InitType_struct_A);
GPIO_Init(LED2_GPIO_PORT,&GPIO_InitType_struct_D);
Procédure principale
#include "stm32f10x.h"
#include "./LED/bsp_led.h"
void delay(uint32_t count)
{
for(;count!=0;count--);
}
int main(void)
{
LED_GPIO_Config( );
while(1)
{
GPIO_SetBits(LED2_GPIO_PORT,LED2_GPIO_PIN);
GPIO_ResetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);
delay(0xfffff);
GPIO_SetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);
GPIO_ResetBits(GPIOD,LED2_GPIO_PIN);
delay(0xfffff);
}
}
边栏推荐
- 达晨史上最大单笔投资,今天IPO了
- The programmer refused the offer because of low salary, HR became angry and netizens exploded
- Design of short chain
- 快讯 l Huobi Ventures与Genesis公链深入接洽中
- Pdf document signature Guide
- The intranet penetrates the zerotier extranet (mobile phone, computer, etc.) to access intranet devices (raspberry pie, NAS, computer, etc.)
- Without CD, I'll teach you a trick to restore the factory settings of win10 system
- openresty ngx_ Lua subrequest
- DAY FOUR
- Microsoft win11 is still "unsatisfactory". Multi user feedback will cause frequent MSI crashes
猜你喜欢
Zero code and high return. How to use 40 sets of templates to meet 95% of the reporting needs in the work
DevOps可以帮助减少技术债务的十种方式
零代码高回报,如何用40套模板,能满足工作中95%的报表需求
If the request URL contains jsessionid, the solution
Résumé des connaissances de gradle
The programmer refused the offer because of low salary, HR became angry and netizens exploded
The intranet penetrates the zerotier extranet (mobile phone, computer, etc.) to access intranet devices (raspberry pie, NAS, computer, etc.)
How to find out if the U disk file of the computer reinstallation system is hidden
Design a red envelope grabbing system
DAY FIVE
随机推荐
DevOps可以帮助减少技术债务的十种方式
PostgreSQL highly available repmgr (1 master 2 slave +1witness) + pgpool II realizes master-slave switching + read-write separation
1000 words selected - interface test basis
DAY FIVE
Building lease management system based on SSM framework
DAY SIX
Every year, 200 billion yuan is invested in the chip field, and "China chip" venture capital is booming
SQL的一种写法,匹配就更新,否则就是插入
Oracle中使用包FY_Recover_Data.pck来恢复truncate误操作的表
DAY TWO
How does win11 restore the traditional right-click menu? Win11 right click to change back to traditional mode
Unity 颜色板|调色板|无级变色功能
17、 MySQL - high availability + read / write separation + gtid + semi synchronous master-slave replication cluster
Close unregistering application XXX with Eureka with status down after Eureka client starts
Supersocket 1.6 creates a simple socket server with message length in the header
Without CD, I'll teach you a trick to restore the factory settings of win10 system
短链的设计
量子时代计算机怎么保证数据安全?美国公布四项备选加密算法
[communication] optimal power allocation in the uplink of two-layer wireless femtocell network with matlab code
DAY ONE