STM32 GPIO应用
在STM32芯片上,IO引脚可以用软件设置为不同的功能(如输入或输出),要实现这些功能必须配置相应的寄存器,具体概括为:
1:配置寄存器:设定GPIO的特定功能,如最基本输入or 输出。
2:数据寄存器:保存GPIO输入or输出的电平高低。
3:位控制寄存器:设置某引脚的高低电平。
4:锁定寄存器:锁定某引脚的配置。
以下基于固件库开发的GPIO程序,点亮CUP板上的LED1、LED2、LED3、LED4。
/************************************************************************************
*函数名:GPIO_Config
*描述:通过配置STM32的GPIO,点亮LED1、LED2、LED3、LED4
*输入:NULL
*输出:NULL
*作者:盛鼎测控之工作室
**************************************************************************************/
void GPIO_Config(void)
{
/* 定义GPIO初始化结构体对象*/
GPIO_InitTypeDef GPIO_InitStructure ;
/* 开启GPIO的外部时钟*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
/* 配置要用到GPIO引脚*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9;
/* 设置GPIO引脚的模式*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/* 设置GPIO引脚的速度*/
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/* 初始化GPIOC*/
GPIO_Init(GPIOC,&GPIO_InitStructure);
/*开机时所有LED处于熄灭状态*/
GPIO_ResetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9);
}
/****************************************************************************************************
*函数名:main
*描述:在main函数中通过调用LED函数,点亮或熄灭LED
*输入:NULL
*输出:NULL
*作者:盛鼎测控科技之工作室
*******************************************************************************************************/
int main(void)
{
GPIO_Config();
while (1){
LED1(ON);
Delay(0x0FFFEF);
LED1(OFF);
LED2(ON);
Delay(0x0FFFEF);
LED2(OFF);
LED3(ON);
Delay(0x0FFFEF);
LED3(OFF);
LED4(ON);
Delay(0x0FFFEF);
LED4(OFF);
}
}
专注于最新测试仪器仪表(测试机)研发、生产、销售.
应用领域:线材测试、安规测试(高压测试)、变压器测试(LCR Meter)、PCB低阻测试、电源系统测试。
淘宝小店:http://shop72422917.taobao.com
有意者QQ:148208292
STM32 GPIO应用相关推荐
- STM32 GPIO的原理、特性、选型和配置
目录 1.基本结构 2.4种输入模式 3.4种输出模式 4.GPIO选型和配置 1.基本结构 STM32 GPIO是通用输入/输出端口的英文简称,其可实现输入.输出.驱动.通信等功能,STM32的I/ ...
- STM32——GPIO(2)
STM32--GPIO 宗旨:技术的学习是有限的,分享的精神是无限的. /* GPIO_InitTypeDef结构体 */ typedef enum {GPIO_Speed_10MHz = 1, // ...
- STM32——GPIO(1)
STM32--GPIO 宗旨:技术的学习是有限的,分享的精神是无限的. [对单片机的操作就是控制IO口] 一.GPIO(通用输入输出口) 1.选定需要的引脚(对应哪一个IO口): 2.配置需要的功能( ...
- STM32 GPIO BRR和BSRR寄存器
STM32 GPIO BRR和BSRR寄存器 使用BRR和BSRR寄存器可以方便地快速地实现对端口某些特定位的操作,而不影响其它位的状态. 引脚的高.低电平控制,有3种方法(3个寄存器) 分别是通过G ...
- 关于STM32 GPIO配置基础概括
一.词汇表 1.介绍常用词的定义: 缩略词 包含定义 AMR 绝对最大额定值(ABSOLUTE MAXIMUM RATINGS 更多地人称为: ABS) GPIO 通用输入/输出 GP 通用 P 推挽 ...
- STM32 GPIO的配置寄存器(CRL、CRH)输入输出模式配置
STM32 GPIO的配置寄存器(CRL.CRH)输入输出模式配置 1.学会使用寄存器设定所需IO的方向,学会配置CRL.CRH 2.理解如下代码的含义 //IO方向设置 #define DS18B2 ...
- STM32 GPIO工作原理
STM32 GPIO工作原理 STM32引脚说明 STM32F103ZET6: 共有7组IO口,每组IO口有16个IO--共16X7=112个IO 编号为:GPIOA,GPIOB--GPIOG,从A到 ...
- STM32 GPIO LED和蜂鸣器实现【第四天】
STM32 GPIO LED实现 原理图 一 .STM32大小说明 二.STM32时钟分析 三.GPIO分析 1.注意点 四.寄存器地址查找 1.写出GPIOF外设的所有寄存器地址 五.LED灯开发 ...
- 判断STM32 GPIO输入口的输入状态(高电平或低电平)
判断STM32 GPIO输入口的输入状态(高电平或低电平) 以PE2和PE4为例: ① 判断单个端口是否为高电平: if(GPIOE->IDR& GPIO_IDR_IDR2) { 函数体 ...
- stm32 gpio口的工作模式
一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定. 推挽电路是两个参数相同的三极管或M ...
最新文章
- 突然想起来,前天是感恩节。
- 【前端5】vue:实例,插值表达式,v-,组件
- PHP鼠标滑过变色命令,WordPress鼠标悬停变色的修改方法
- 做网络需要掌握的56句话
- vue 数组重复,循环报错
- OC中Runtime浅析
- java 反射 获取Class对象的三种方式
- 20191128每日一句感恩节
- Type-C接口技术(一)
- 台式计算机显卡最高温度多少,台式机的正常温度是多少
- 操作系统介绍,为什么使用虚拟机,虚拟机使用原理透彻解释
- Linux怎么进入根目录查看文件
- Excel中index和match结合解决vlookup匹配出错问题
- 基于jsp+mysql+ssm高校学生成绩管理系统-计算机毕业设计
- nas linux手机照片备份,本身着手,组建简洁好用的NAS!(存储同步篇)
- TabControl控件在左侧绘制tabPage页面
- 互联网晚报 | 3月8日 星期二 |​ ​​王传福卸任杭州比亚迪董事长;苏宁易购:南京银行拟收购苏宁消费金融36%股权...
- oppo reno7参数配置
- 能上QQ但不能上网问题精解
- css小鸡破壳,小班美术教案《小鸡破壳》
热门文章
- java 原子量_JAVA线程10 - 新特性:原子量
- 在大厂工作5年的大神,给前端初学者的四大建议
- 高响应比优先调度算法 (HRRN)例题
- 搜狗输入法电脑版_搜狗输入法上线墨水屏定制版
- 阿里云 centos mysql 5.6_关于centOS安装配置mysql5.6那点事
- 宁波大学计算机网络实验五,宁波大学计算机网络实验答案
- STM8单片机 PWM无波形输出解决方法
- 卷积神经网络的输出形状
- a start job is running for延迟90s的解决办法
- QT程序在windows下部署发布