STM32F103的PC13、PB3和PB4定义为普通IO口使用
PC13初始化:
PC13的.c文件初始化:
void GPIO_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC| RCC_APB2Periph_AFIO, ENABLE);//使能PORTC口时钟 BKP_TamperPinCmd(DISABLE);//关闭入侵检测功能,也就是PC13,可以当普通IO使用BKP_ITConfig(DISABLE); //这样就可以当输出用。GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //最低速率2MHzGPIO_Init(GPIOC, &GPIO_InitStructure);GPIO_SetBits(GPIOC,GPIO_Pin_13); //输出1
}
PC13在.h文件的定义:
//IO方向设置
#define GPIOC13_IO_IN() {GPIOC->CRH &= 0xFF0FFFFF;GPIOC->CRH|= 0xFF8FFFFF;}
#define GPIOC13_IO_OUT() {GPIOC->CRH &= 0xFF0FFFFF;GPIOC->CRH|= 0xFF3FFFFF;}//IO操作函数
#define GPIOC13_OUT PCout(13) //数据端口PC13
#define GPIOC13_IN PCin(13) //数据端口PC13
///
GPIOB3、GPIOB4的.c文件初始化:
void GPIO_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);//使能PORTB口时钟、复用引脚PB3、PB4引脚GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //关闭JTAG,SWD可以调试的GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);GPIO_SetBits(GPIOB,GPIO_Pin_3); //输出1 GPIO_SetBits(GPIOB,GPIO_Pin_4); //输出1
}PB3、PB4在.h文件的定义:
//IO方向设置
#define GPIOB3_IO_IN() { GPIOB->CRL &= 0xFFFF0FFF;GPIOB->CRL|= 0xFFFF8FFF;}
#define GPIOB3_IO_OUT() {GPIOB->CRL &= 0xFFFF0FFF;GPIOB->CRL |= 0xFFFF3FFF;}
IO操作函数
#define GPIOB3_OUT PBout(3) //数据端口PB3
#define GPIOB3_IN PBin(3) //数据端口PB3 //IO方向设置
#define GPIOB4_IO_IN() {GPIOB->CRL &= 0xFFF0FFFF;GPIOB->CRL |= 0xFFF8FFFF;}
#define GPIOB4_IO_OUT() {GPIOB->CRL &= 0xFFF0FFFF;GPIOB->CRL |= 0xFFF3FFFF;}
IO操作函数
#define GPIOB4_OUT PBout(4) //数据端口PB4
#define GPIOB4_IN PBin(4) //数据端口PB4
STM32F103的PC13、PB3和PB4定义为普通IO口使用相关推荐
- stm32 将PB3,PB4设置为普通IO模式
最近在做项目,涉及到将PA3.PA4引脚作为普通IO模式,控制LED灯亮灭,发现这两个IO口不受控制,一直处于高电平状态.查阅stm32的引脚说明发现,PB3和PB4在系统复位时候,分别默认为SYS_ ...
- stm32 pc13~pc15 tamper-rtc OSC32-IN/OSC32-OUT 配置成IO口
在STM32的数据手册的管脚分配图中可以看到:PC14与OSC32_IN公用一个引脚,PC15与OSC32_OUT公用一个引脚,它们的使用方法如下: 当LSE(低速外部时钟信号)开启时,这两个公用管脚 ...
- 杨桃32开发版最小核心板和底板接口定义以及各io口功能
文章目录 一.单片机和核心板的引脚连接 二.各引脚接口详讲 三.单片机和核心板的引脚连接 杨桃32学习笔记,本文图片文字皆为转述 一.单片机和核心板的引脚连接 将板子的小圆点放置左上角即可与上图引脚一 ...
- stm32按键输入实验c语言,stm32f103学习笔记(三)按键输入(IO口输入)
学stm32第三天了,才学到按键输入,这进度也是醉了...谁叫俺c语言基础不行,还没有学过模数电呢.. 开发板上有4个按键:key0,key1,key2和wk_up,分别接在PE4,PE3,PE2和P ...
- 单片机io口定义C语言,怎样把单片机的8个不同管脚定义成同一个IO口??
满意答案 编译器已经帮你定义好了 例如 keil 安装目录 下 \C51\INC Atmel 的单片机 AT89C51.AT89S51 已经定义好AT89X51.H 头几行里是 /*--------- ...
- STM32F103ZET6【标准库函数开发】------PB3,PB4当做普通IO口,重定义
一.如题,我在设计原理图的时候将PB3和PB4当做了普通IO口,结果按照一般配置的方法操作后,PB3 PB4并没有输出自己想要的信号,配置如下: void MOTOR_GPIO_Init(void)/ ...
- STM32 PB3或者PB4不能正常使用的讲解
最近用STM32F103T8做项目,发现PB3和PB4这两个IO不可控,一直是高电平: 原因是PB3和PB4在系统复位时候,分别默认为SYS_JIDO和SYS_HJTRST: 所以需要通过用户自行禁止 ...
- STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置
STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置 最近博主用STM32F103C8T6做了一个温度测控模块,用到PB3,PB4,PA15等引脚控制外设.发现不管怎 ...
- stm32f103c8t6使用PB3和PB4做普通GPIO使用时发现异常
在使用PB3和PB4做普通GPIO使用时,发现普通的GPIO初始化程序无法正常使用PB3和PB4,后经查阅资料,发现是因为PB3和PB4在默认情况下是做JTAG调试用的.如果需要将其当普通GPIO使用 ...
最新文章
- elasticsearch: 权威指南_你还不会Elasticsearch的CUD?
- linux学习笔记-rpm
- 高大上的Android沉浸式状态栏?
- Atitit.atiJsBridge 新特性v7q329
- 怎么从转移特性曲线上看dibl_「科普向」这篇让你快速搞懂IGBT的静态特性
- leetcode261. 以图判树
- 消费者驱动的微服务契约测试套件Spring Cloud Contract
- Android 系统(48)---WindowManager.LayoutParams 详解
- 重写报销流程,责任链模式实现
- SQL Server中的内存优化表变量
- sqlplus连接oracle_Oracle数据库建立
- Android自定义ScrollBar,android自定义View之垂直的滚动条
- PHP代码中解决出现中文乱码的问题
- LayaAir HttpRequest 网络访问
- 一篇文章让你拥有用不完的ip代理
- 模式识别(五)聚类的几种算法
- 努比亚 N1 (Nubia NX541J) 解锁BootLoader 并刷入recovery
- 神经元结构示意图讲解图,神经元的结构示意图
- 阿里云域名动态解析dns,ddns php定时更新
- 启蒙、亲情、乐趣、营养,“健康童乐园”全面支持乡村儿童成长
热门文章
- 快速幂 (转载,详细)
- 优秀案例:12个精美的设计工作室 设计公司网站
- 邮件Web客户端相关
- bd5.2 Django
- 实现一个可管理、增发、兑换、冻结等高级功能的代币
- SSH框架之Spring4专题4:Spring与DAO
- android中webview loadUrl(String url,Map header)方法和postUrl(String url,byte[] postData)方法同时使用问题;...
- nginx通过用户和密码来实现认证功能
- 网页中模拟Excel电子表格实例分享
- Spirng MVC +Velocity 表单绑定命令对象