首页下载资源硬件开发STM32f103 GPIO应用代码

ZIPSTM32f103 GPIO应用代码

weixin_519146443.47KB需要积分:1

资源文件列表:

GPIOpinInit.zip 大约有4个文件
  1. GPIOpinInit/
  2. GPIOpinInit/GPIOpinInit.c 2.27KB
  3. GPIOpinInit/GPIOpinInit.h 2.28KB
  4. GPIOpinInit/ReadMe.txt 2.86KB

资源介绍:

此代码为基于stm32f1固件库的对GPIO的配置、输入、输出的封装。 可以用类似Arduino的函数形式完成对引脚的初始化和操作。 同时也包含了寄存器快速操作的相关宏。
更新时间:2022.6.23 https://blog.csdn.net/weixin_51914644/article/details/123433275 版本:2.0 2.0版说明: 2.0版对1.0版仅仅作了头文件的内容扩充,未修改原有内容,故可直接替换1.0版,不会带来编译错误 也因此,对1.0版已有的内容不再重复说明,仅说明增加内容 增加的内容为寄存器位带操作,即已知GPIO的输入、输出寄存器(ODR、IDR)的地址,对其进行直接访问,将其值当作一个操作数 如对PB10操作,若为输出,则可以 输出低电平:PBout(10)=0;输出高电平:PBout(10)=1; 若为输入,则可以a=PBin(10); 1.0版说明: 时间:2021.1.26 版本:1.0 说明: 此封装为基于stm32f1固件库的对GPIO的配置、输入、输出的封装 包含stm32f1固件库头文件"stm32f10x.h"和布尔型变量的头文件"stdbool.h" 此封装共有5个可供调用的函数和1个工具函数(被前几个函数调用) 关于5个函数: 一、引脚配置 void GPIOpinInit(char* PinName,char speed,char mode); 1、 PinName为引脚名,组成为大写字母和数字,如"A06"、"B1"、"C13" 注意:双引号不可省略 另外"B1"或"B01"的写法均合法且是等价的,但是在双引号内加入空格不合法,以下均同 2、 speed为速度,单位为MHz(无需输入),可取值为2、10、50 3、 mode为模式,取值与对应功能如下: 'A':模拟输入GPIO_Mode_AIN 'F':浮空输入GPIO_Mode_IN_FLOATING 'D':下拉输入GPIO_Mode_IPD 'U':上拉输入GPIO_Mode_IPU 'O':开漏输出GPIO_Mode_Out_OD 'P':推挽输出GPIO_Mode_Out_PP 'o':复用开漏输出GPIO_Mode_AF_OD 'p':复用推挽输出GPIO_Mode_AF_PP 注意:单引号不可省略 用法示例: 1、(直接写引脚名) GPIOpinInit("C13",50,'O'); GPIOpinInit("B1",2,'F'); 2、(用宏定义替换引脚名) #define led0 "C13" #define key "B1" GPIOpinInit(led0,50,'O'); GPIOpinInit(key,2,'F'); 二、输出 void Output(char* PinName,bool state); 1、 PinName为引脚名,说明同上 2、 state为输出电平,置高可写1或high或HIGH,置低可写0或low或LOW 要注意是否选择了正确的模式 用法示例: 1、 Output("C13",0); 2、 #define led0 "C13" Output(led0,LOW); 三、置高 void High(char* PinName); 输入PinName即可输出高电平,如High("B0"); 要注意是否选择了正确的模式 四、置低 void Low(char* PinName); 输入PinName即可输出低电平,如Low("B0"); 要注意是否选择了正确的模式 五、读取 bool Read(char* PinName); 输入PinName即可读取引脚电平,要注意是否选择了正确的模式 用法示例:bool message=Read("B1");
100+评论
captcha