GPIO的使用:
一共四组IO口16*3+3:ABCD
库函数
necessity:
1.RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE)使能时钟
2.系统初始化(GPIO_Init)
IN:
GPIO_InitStruct:模式,引脚,GPIO的最大输出速率,
GPIOA(用于参照指示寄存器地址的指针)
OUT:
CRH/CRL
GPIO_InitTypeDef *GPIO_InitStruct;
GPIO_InitStruct->GPIO_Mode= GPIO_Mode_Out_PP;
GPIO_InitStruct->GPIO_Pin=GPIO_Pin_15;
GPIO_InitStruct->GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,GPIO_InitStruct);
unnecessity:
读:
IN:IDR
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15);
写:
OUT:ODR
GPIO_WriteInputDataBit(GPIOA,GPIO_Pin_15);
置位:
OUT:BSRR
GPIO_SetBits(GPIOA,GPIO_Pin_15);
复位:BRR
GPIO_ResetBits(GPIOA,GPIO_Pin_15);
寄存器
CRL+CRH(2*32)
模式(4+4)
输出速率(3+1)
排列组合共(4*3+4*1)=16(4位表示)
共需4*16位(满)
一般引脚复位值为44444444,即浮空输入模式
特殊的GPIO引脚,复位为特定状态;
IDR/ODR(每个用低16位,高16位保留)
输入数据寄存器(只读)
输出数据寄存器(可读可写)
BSRR(32位都用了)
置位/复位寄存器(通过作用ODR寄存器输出)
BRR
关键字:STM32 学习笔记 GPIO
引用地址:
STM32学习笔记(一)GPIO
推荐阅读最新更新时间:2024-11-08 18:20
STM32学习探究:流水灯的实现
流水灯的实现 这里我们使用 stm32mini 开发板实现外接流水灯,这里我采用了三个灯(说明问题就可以了)。外接的引脚分别为PA2,PB8,PC13三个引脚,在连接的时候,采用灯的正极接GPIO引脚,负极接GND(这是一种合理的方式)。 注意:虽然接VCC也可以发光,但是这样不是合理的连接方式,而且,发光的情况刚好与接GND的情况相反。 参考的相关资料如下: 时钟使能: 端口配置: 端口输出: 具体实现的代码如下: //led.h文件 #ifndef __LED_H #define __LED_H #include sys.h //LED端口定义 #define LED0 PAout(
[单片机]
STM32初学笔记---延时函数及u16、u32、u8
在编写流水灯程序时发现,和对之前用的51单片机所用的普通软件延时函数有所不同,51的普通软件延时函数我们一般是这样编写的: #include reg52.h #include intrins.h #define uint unsigned int #define uchar unsigned char void delayms(uint xms) { uint i,j; for(i=xms;i 0;i--) for(j=110;j 0;j--); } 然而我们在对STM32利用库函数进行编程时采用此延时函数则完全行不通,而是采用下面的延时函数 #include stm32f10x.h void delay(u16 x)
[单片机]
STM32开发笔记8: STM32CubeF0介绍
单片机型号:STM32CubeF0 本文介绍 STM32CubeF0。 STM32CubeF0 gathers, in a single package, all the generic embedded software components required to develop an application on STM32F0 microcontrollers. In line with the STMCube™ initiative(首创), this set of components is highly portable, not only within STM32F0 Series but al
[单片机]
STM8S003xx学习笔记(1):模拟 / 数字转换器(ADC)
虽然使用STM8S003F有一年了,但是对于其中的一些知识还是不是很详尽,从今天开始对照芯片资料做一个完整的学习。这篇文章作为模拟 / 数字转换器(ADC)的学习笔记,主要是根据《STM8S参考手册_中文》(以下简称《参考手册》)和《STM8S003K3_STM8S003F3_Datasheet_EN》(以下简称《数据手册》)来学习。 一 综述 根据《参数手册》我们知道,ADC1和ADC2是10位的逐次比较型模拟数字转换器。提供多达16个多功能的输入通道(实际准确的通道数量在数据手册的引脚描述说明)。A/D转换的各个通道可以执行单次和连续的转换模式。相对于ADC2,ADC1具有一些扩展功能,包括扫描模式、带缓存的连续模式、模拟
[单片机]
stm32全称是什么
stm32全称是意法半导体32位系列微控制器芯片。 ST即意法半导体(STMicroelectronics)。 意法半导体 (STMicroelectronics) 集团于1987年6月成立,是由意大利的SGS 微电子公司和法国Thomson 半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics 将公司名称改为意法半导体有限公司,意法半导体是世界最大的半导体公司之一。从成立之初至今,ST 的增长速度超过了半导体工业的整体增长速度。自1999年起,ST 始终是世界十大半导体公司之一。据最新的工业统计数据,意法半导体 (STMicroelectronics) 是全球第五大半导体厂商,
[单片机]
正点原子stm32精英开发板串口一键下载电路原理分析
使用串口芯片CH340中的DTR引脚和RTS引脚来控制单片机复位引脚和BOOT0引脚的电平状态,从而实现一键下载。对于这个一键下载电路,重点是这2个地方没问题就足够理解了:1.得有看懂三极管电路开关状态的能力 2.得明白CH340的DTR RTS引脚电平状态是可以由软件来控制的 1.使用串口下载前,先这样连接:单片机串口1的tx1 rx1分别和ch340的rx tx连接,同时把boot0 boot1引脚都10k****下拉到地(若直接连地则电平状态无法改变了,也就无法切换boot启动配置了) 2.如图2,10k在这里:boot引脚拉一个10k电阻到排针 图2 3.图3为正点原子精英板usb转串口的ch340电路,使用fly
[单片机]
C51#学习笔记01#| Keil软件的使用入门教程
Keil软件的使用具体教程: 1、新建项目【project】-【New】-【uvision project】选择保存文件目录后,在弹出来的菜单栏中选择芯片型号【Atmel】-【STC89C51/STC89C52】,注意这里还会弹出来一个方框选择【否】。注意:新建项目有的Keil版本是在【File】-【New】-【New Project】 2、新建.C文件【File】- 【New】,此时会新建一个文本文件【Text】; 接着将文本文件保存在项目文件中,并更改它的后缀名为【main.c 】,最后在项目中导入main.c文件: 选择工作台左边的项目【Target】- 鼠标右键【Source Group1】 - 【Add File
[单片机]
STM32固件库
很久没有碰单片机了,两年了吧,因为项目需要,最近入手一块红牛的开发板,核心为STM32F103ZE。虽然以前做过大概半年的stm32的开发,现在天天在.net平台下写代码,已经忘记的差不多,恰逢周末,补补课,以后用的时候也方便点。 ST推出的FW大大提高了单片机SW的开发效率,所以在新建工程前先来了解下这个SDK。我使用的是最新的v3.5固件库,这个固件库可以分为三个部分: 1、内核支持(..STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupport) 2、硬件系统支持(..STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSI
[单片机]