【STM32】学习笔记-江科大 1、STM32F103C8T6的GPio口输出 2、GPIO口输出 GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引
GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等。
链接: https://blog.csdn.net/lonelypasserby/article/details/129144699
include "stm32f10x.h"void Delay_us(uint32_t xus){SysTick->LOAD = 72 * xus;//设置定时器重装值SysTick->VAL = 0x00;//清空当前计数值SysTick->CTRL = 0x00000005;//设置时钟源为HCLK,启动定时器while(!(SysTick->CTRL & 0x00010000));//等待计数到0SysTick->CTRL = 0x00000004;//关闭定时器}void Delay_ms(uint32_t xms){while(xms--){Delay_us(1000);}} void Delay_s(uint32_t xs){while(xs--){Delay_ms(1000);}}
#include "stm32f10x.h" // Device header#include "Delay.h"int main(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);while (1){GPIO_ResetBits(GPIOA, GPIO_Pin_0);Delay_ms(500);GPIO_SetBits(GPIOA, GPIO_Pin_0);Delay_ms(500);GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);Delay_ms(500);GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET);Delay_ms(500);GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)0);Delay_ms(500);GPIO_WriteBit(GPIOA, GPIO_Pin_0, (BitAction)1);Delay_ms(500);}}
#include "stm32f10x.h" // Device header#include "Delay.h"int main(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;//GPIO_Pin_1|GPIO_Pin_2。。。。GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);while (1){//GPIO_Write输出GPIO_Write(GPIOA, ~0x0001);//0000 0000 0000 0001Delay_ms(100);GPIO_Write(GPIOA, ~0x0002);//0000 0000 0000 0010Delay_ms(100);GPIO_Write(GPIOA, ~0x0004);//0000 0000 0000 0100Delay_ms(100);GPIO_Write(GPIOA, ~0x0008);//0000 0000 0000 1000Delay_ms(100);GPIO_Write(GPIOA, ~0x0010);//0000 0000 0001 0000Delay_ms(100);GPIO_Write(GPIOA, ~0x0020);//0000 0000 0010 0000Delay_ms(100);GPIO_Write(GPIOA, ~0x0040);//0000 0000 0100 0000Delay_ms(100);GPIO_Write(GPIOA, ~0x0080);//0000 0000 1000 0000Delay_ms(100);}}
#include "stm32f10x.h" // Device header#include "Delay.h"int main(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);// GPIO_ResetBits是一个重要的函数,//可以用于控制STM32芯片的GPIO端口输出电平。该函数通过重置指定GPIO端口//的某些引脚来实现设置GPIO端口输出电平的目的。该函数可用于许多应用场合,包括控制LED等应用。while (1){GPIO_ResetBits(GPIOB, GPIO_Pin_12);Delay_ms(100);GPIO_SetBits(GPIOB, GPIO_Pin_12);Delay_ms(100);GPIO_ResetBits(GPIOB, GPIO_Pin_12);Delay_ms(100);GPIO_SetBits(GPIOB, GPIO_Pin_12);Delay_ms(700);}}
存在的函数:https://blog.csdn.net/only_a_Heroic_car/article/details/130067196
来源地址:https://blog.csdn.net/qq_25743167/article/details/132568162
--结束END--
本文标题: 【STM32】学习笔记-江科大
本文链接: https://lsjlt.com/news/382538.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0