当前位置:网站首页>STM32 --- GPIO configuration & GPIO related library functions
STM32 --- GPIO configuration & GPIO related library functions
2022-07-05 08:15:00 【chen_ bx】
STM32---GPIO Configuration of library functions & GPIO Related library functions
gpio file
The header file :stm32f10x_gpio.h
Source file :stm32f10x_gpio.c
To configure GPIO step
① Can make IO Port clock .
Call function
RCC_APB2PeriphColckCmd();
Different IO Group , The clock enable function called is different .
② Initialization function
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
effect : Initialize one or more IO mouth ( The same group ) How and speed .
This function mainly operates GPIO_CRL(CRH) register , Pull up or down
When is it set BSRR perhaps BRR register
GPIOx: GPIOA~GPIOG
The initialization structure is as follows
typedef struct
{
uint16_t GPIO_Pin; // Specify the to initialize IO mouth
GPIOSpeed_TypeDef GPIO_Speed; // Set up IO Port output speed
GPIOMode_TypeDef GPIO_Mode; // Set the working mode :8 One of the species
}GPIO_InitTypeDef;
Be careful : peripherals ( Include GPIO) Before use , Almost always enable the corresponding clock first .
GPIO Initialization example :
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);// open GPIOB The clock
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED0-->PB.5 port configuration
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // Push pull output
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO The mouth speed is 50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); // Initialize according to the set parameters GPIOB.5
You can initialize one at a time IO Multiple under group IO, The premise is that these IO The configuration of ports is the same .
GPIO Related library functions
2 A read input level function :
①
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
effect : Read something GPIO The input level of . The actual operation is GPIOx_IDR register .
for example :
GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_5);// Read GPIOA.5 The input level of
②
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
effect : Read a group GPIO The input level of . The actual operation is GPIOx_IDR register .
for example :
GPIO_ReadInputData(GPIOA);// Read GPIOA All in the group io Port input level
2 A read output level function :
①
uint8_t GPIO_ReadOutputDataBit (GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
effect : Read something GPIO Output level of . The actual operation is GPIO_ODR register .
for example :
GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_5);// Read GPIOA.5 Output level of
②
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);
effect : Read a group GPIO Output level of . The actual operation is GPIO_ODR register .
for example :
GPIO_ReadOutputData(GPIOA);// Read GPIOA All in the group io Port output level
4 Set the output level function :
①
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
effect : Set up a IO The output of the port is high (1). Actual operation BSRR register
②
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
effect : Set up a IO The output of the port is low (0). In practice BRR register .
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
These two functions are not commonly used , It's also used to set up IO Port output level .
This article refers to the notes on punctual atoms
边栏推荐
- How to define guid in AMI code
- C, Numerical Recipes in C, solution of linear algebraic equations, LU decomposition source program
- 【论文阅读】2022年最新迁移学习综述笔注(Transferability in Deep Learning: A Survey)
- STM32 virtualization environment of QEMU
- Stablq of linked list
- Screen record of the opening ceremony of the Beijing winter olympics 2
- Shape template matching based on Halcon learning [vi] find_ mirror_ dies. Hdev routine
- [trio basic from introduction to mastery tutorial XIV] trio realizes unit axis multi-color code capture
- My-basic application 2: my-basic installation and operation
- Shape template matching based on Halcon learning [v] find_ cocoa_ packages_ max_ deformation. Hdev routine
猜你喜欢
Hardware and software solution of FPGA key chattering elimination
Let's briefly talk about the chips commonly used in mobile phones - OVP chips
LED display equipment records of the opening ceremony of the Beijing Winter Olympics
Programming knowledge -- basis of C language
Relationship between line voltage and phase voltage, line current and phase current
C WinForm [change the position of the form after running] - Practical Exercise 4
[cloud native | learn kubernetes from scratch] III. kubernetes cluster management tool kubectl
C WinForm [help interface - send email] - practice five
C WinForm [exit application] - practice 3
Talk about the function of magnetic beads in circuits
随机推荐
QEMU STM32 vscode debugging environment configuration
Basic information commands and functions of kernel development
Explain task scheduling based on Cortex-M3 in detail (Part 2)
My-basic application 2: my-basic installation and operation
Hardware 3 -- function of voltage follower
UEFI development learning 6 - creation of protocol
2021-10-28
C WinForm [realize the previous and next selection pictures] - practice 7
Arduino uses nrf24l01+ communication
Shell脚本基本语法
Step motor generates S-curve upper computer
Some tips for using source insight (solve the problem of selecting all)
Consul安装
Synchronization of QT multithreading
C, Numerical Recipes in C, solution of linear algebraic equations, LU decomposition source program
Slist of linked list
Improve lighting C program
Development tools -- gcc compiler usage
Summary -st2.0 Hall angle estimation
Let's briefly talk about the chips commonly used in mobile phones - OVP chips