STM32F103ZET6【标准库函数开发】------PB3,PB4当做普通IO口,重定义

一、如题,我在设计原理图的时候将PB3和PB4当做了普通IO口,结果按照一般配置的方法操作后,PB3 PB4并没有输出自己想要的信号,配置如下:

void MOTOR_GPIO_Init(void)//初始化
{
	GPIO_InitTypeDef  GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);	 //使能PB,PE端口时钟
	
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;	 //PB.4  PB.4 端口配置
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推挽输出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度为50MHz
	GPIO_Init(GPIOB, &GPIO_InitStructure);					 //根据设定参数初始化GPIOB.3/4
	GPIO_SetBits(GPIOB,GPIO_Pin_3);							 //PB3写1
	GPIO_SetBits(GPIOB,GPIO_Pin_4);					         //PB4写1
}

然后在main()函数中初始化MOTOR_GPIO_Init()后,我希望得到的结果应该是PB3和PB4都是高电平,结果却不尽如人意。

查看数据手册如下图,可以看到PB3和PB4主功能分别为JTDO和NJTRST,如果想要将其作为普通IO的话,需要使用重定义里面的功能。
在这里插入图片描述
原因找到了,接下来就是解决问题。
首先第一步,我想要使用重定义功能,那么需要开启AFIO时钟,即需要增加一句

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

一般IO口作复用话,这一句就够了,但是PB3和PB4比较特殊,它的主功能是作为JTAG下载口,所以还需要关闭JTAG下载功能,但是不能没有办法下载程序吧,那么就要在关闭JTAG下载的同时允许使用SW下载。所以还需要加一句。

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

综上所述,配置改成如下样子即可实现PB3、PB4当做普通IO口使用

void MOTOR_GPIO_Init(void)//初始化
{
	GPIO_InitTypeDef  GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);	 //使能PB,PE端口时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
	
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;	 //PB.4  PB.4 端口配置
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推挽输出
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度为50MHz
	GPIO_Init(GPIOB, &GPIO_InitStructure);					 //根据设定参数初始化GPIOB.3/4
	GPIO_SetBits(GPIOB,GPIO_Pin_3);							 //PB3写1
	GPIO_SetBits(GPIOB,GPIO_Pin_4);					         //PB4写1
}

int main(void)
 {	
	MOTOR_GPIO_Init();
	while(1)
	{}
}

PS:比较两个函数的区别

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//禁用JTAG,可以使用SW
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//禁用JTAG和SW,会导致无法下载程序
STM32F103ZET6单片机FSMC接-TFTLCD显示实验软件例程源码.zip
03-20
STM32F103ZET6单片机FSMC接-TFTLCD显示实验软件例程源码 main() { u8 i=0; u16 color=0; SysTick_Init(72); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组 LED_Init(); USART1...
STM32F103 PB3,PB4,PA15的使用
angers11的博客
12-08 4141
标题STM32F103 JTAG/SWD调试的使用。 使用STM32很多年了,开始使用的是JTAG的调试下载,受JLIN上面的接影响,PCB上一直放的是20PIN的标准座,后来空间有点紧张又改为10PIN的,再后来改成SWD 4PIN,一直般都不用PA15,PB3,PB4这几个,要用了下面这个说得比较清楚的写来备忘下。 引脚描述如《STM32参考手册》中所示: 同时,这些引脚主功能(复位后)的功能如下如所示: 这些引脚只有定义功能后才能作为普通IO使用,所以我们需要对这些引脚进行配置的时候开启
STM32F103系列PB3 PB4映射成正常io
henan_zhang的博客
01-09 935
【代码】STM32F103系列PB3 PB4映射成正常io
STM32】关于stm32f103c8t6的PB3PB4管脚上电就拉高的解决方法
最新发布
weixin_43676546的博客
09-10 459
解决stm32f103c8t6的PB3PB4上电自动拉高,无法拉低的问题。
STM32PB3/PB4/PA15用作普通IO使用
xiaoxiaoxiaoali的博客
09-07 7173
PB3/PB4/PA15用作普通IO
STM32F1的PB3/PB4用作普通IO
weixin_47268803的博客
10-12 2192
在调试以PB3/PB4为引脚驱动继电器时发现初始化IO后,对IO控制不起作用,考虑是否引脚复用了,在参考芯片手册后,发现该引脚复用了。
STM32单片机PB3/PB4/PA15用作普通IO使用
eipo_csdn的专栏
12-02 8094
STM32单片机PB3/PB4/PA15这三个引脚比较特殊,上电复位默认是作为调试端使用的,进行电路设计的时候应尽量避免将PB3/PB4/PA15这三个引脚当作普通IO使用;若要将它们作为普通IO使用,则需要关闭部分调试功能。设置方法如下:下面以STM32F103C8T6为例,说明PB3/PB4/PA15用作普通IO使用配置方法。
STM32F103ZET6单片机摄像头应用-OV7670软件例程源码+开发板原理图.zip
04-01
STM32F103ZET6是一款基于ARM Cortex-M3内核的微控制器,由意法半导体(STMicroelectronics)生产。它广泛应用于嵌入式系统设计,因其丰富的外设接、高处理能力和低功耗特性而备受青睐。在这个项目中,我们将探讨...
STM32F103ZET6最小系统--原理图及封装库资料_STM32F103_
10-03
3. **用户手册/数据手册**:提供了STM32F103ZET6的详细技术规格,包括功能描述、电气特性、引脚定义等。 4. **其他支持文件**:可能包括元件清单、注意事项、PCB布局指导等,有助于开发者完成整个项目。 了解和...
arm-2d移植到STM32F103ZET6 正点原子开发板-精英版-ALIENTEK
12-24
arm_2d移植到STM32F103ZET6 正点原子开发板_精英版_ALIENTEK,主要实现了移植,实现了基本画方图,以及贴一张图片,如果需要实现跳转,需要将工程名改成全英文,以及放到全英文目录。此工程已修改为了complier v6...
STM32F103ZET6单片机 FSMC-外扩SRAM实验例程源码.zip
03-20
STM32F103ZET6单片机 FSMC-外扩SRAM实验例程源码 /外部内存测试(最大支持1M字节内存测试) void ExSRAM_Cap_Test(u16 x,u16 y) { u8 writeData = 0xf0, readData; u16 cap=0; u32 addr; addr = 1024; //从1KB...
STM32F103芯片PB3 PB4不能正常输出电平问题
YF_Luo的博客
02-28 1392
通过示波器查看,此引脚电压为2.6v左右,而单片机供电电压为3.3v,疑惑的是这种情况即便配置不成功,高电平电压也应该为3.3v。检查后一切正常,再回到芯片本身,看手册是否有特殊引脚,发现此引脚主功能为NJRST,并不是GPIO,定位问题所在。NJRST是作为连接调试器的特殊端,还有其它端类似。在STM32工程中,对PB4引脚初始化为推挽输出模式,输出为低电平后,其引脚电平还是为高。此引脚为在初始化时,加入以下代码,使此引脚作为GPIO使用。加入代码后,引脚电平输出正常。
STM32 使用调试引脚 PB3,PB4 P15 方法
fh456123fh的博客
10-30 2282
/使能相应接的时钟,以及RCC_APB2Periph_AFIO。#define GPIO_Remap_SWJ_NoJTRST ((uint32_t)0x00300100) /*SWD使能、JTAG使能但是不包括JNRST引脚 *//// 可使用PA13,PA14,PB15,PB3PB4
STM32引脚定义表以及映射的使用方法
热门推荐
2301_77206599的博客
07-25 1万+
简单来说就是这个功能有两个GPIO都能使用,但你的上电默认的端(能完成这个功能的端)有其他的用途,就可以将能完成这个功能的引脚定义到另一个能实现这个功能的引脚上,可以使新引脚代替它完成功能。作用:如果两个功能同时复用在一个IO上,而确实需要用这个两个功能,就可以把其中一个复用功能映射到其他端上,前提是这个定义功能的表里有对应的端。那么这三行代码你就都得需要,首先打开AFIO的时钟,然后将端映射成你需要使用的端,最后将这个调试端变成正常的GPIO(不具备调试功能)即可。
STM32F103的PC13、PB3PB4定义普通IO使用
奋斗的菜鸟博客
07-11 1万+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
STM32学习记录--关于按键配置(PB3 PB4)
herui_2的博客
04-23 2044
有一个项目需要用到PB3PB4配置成按键输入,这原理图的引脚配置可以看到,因为PB3PB4在默认情况下是做JTAG调试用的。如果需要将其当普通GPIO使用,需要关闭JTAG调试功能;
STM32F103系列五个特殊引脚作为GPIO时的配置
牧以南歌的博客
04-03 2558
STM32F103系列五个特殊引脚作为GPIO时的配置方法。
STM32F103:SWJ调试端设置成普通I/O——PA13,PA14,PA15,PB3,PB4
MQ0522的博客
11-21 1万+
一、SWJ调试端 STM32有两种程序调试接(程序烧写),具体如下: SW调试接: PA13、PA14共两个引脚。 JTAG调试接: PA13、PA14、PA15、PB3PB4共五个引脚。 单片机启动后,初始状态这五个引脚就默认是调试接。 而实际使用中,一般只使用 SWCLK、SWDIO这两个引脚用做SW调试接。 其余的三个引脚可以空出来,定义普通I/O来使用。 如果需要将它们用作普通IO,需要进行引脚复用,禁止调试功能。 二、SWJ调试端设置成普通I/O步骤 1. 配置复用.
100ASK_T113-PRO板串3 改为PE08,PE09
weixin_67238003的博客
01-05 816
基于百问网全志T113板 buildroot源码,修改串3到PE08,PE09
写文章

热门文章

  • keil编译后报错Error:L6218E的解决方法 75785
  • STLINK引脚定义和接法 54071
  • 推挽输出和开漏输出的区别 47158
  • 【Altium designer】常用的线宽和过孔尺寸 40081
  • 【Altium Designer21】DRC规则检查、错误、设置简析 35400

分类专栏

  • 电路仿真 1篇
  • 电路参考 1篇
  • 【编程软件】keil 19篇
  • windows使用小技巧 1篇
  • 算法 1篇
  • 【电机】无刷直流电机 2篇
  • 【MCU】】ESP32 3篇
  • 【外设】迪文串口屏 4篇
  • 洋桃电子 8篇
  • 电源 7篇
  • FPGA 2篇
  • 【EDA】Cadence Allegro 33篇
  • 【EDA】Cadence Orcad Capture 15篇
  • 其它 20篇
  • USB 2篇
  • 信号传输 1篇
  • 面试 2篇
  • EMC 4篇
  • 数学 1篇
  • datasheet 1篇
  • 模拟电路 23篇
  • 单片机基础 6篇
  • PIC 3篇
  • FreeRTOS 1篇
  • 【STM32】STM32F1HAL库开发 17篇
  • 【STM32】STM32F1标准库开发 46篇
  • 【STM32】STM32知识点归纳 26篇
  • 【EDA】Altium designer 24篇
  • Arduino 18篇
  • C语言 6篇
  • 电机 13篇
  • 医疗器械 7篇

最新评论

  • keil编译后报错问题分析

    omgitslrf7_Lee: 没用,还有别的解决办法吗

  • STM32F103ZET6【标准库函数开发】------02.2 按键实现短按、长按、双击的效果(非中断方式)

    金丝草: 之前用过新塘的单片机,这个单片机自带引脚延迟无需软件延迟。是真舒服。

  • STM32F103ZET6【标准库函数开发】------02.2 按键实现短按、长按、双击的效果(非中断方式)

    金丝草: 如果是毫秒以上延迟,建议跑rtos。

  • 【模拟电路】3.3V供电的STM32如何输出5V电压,通过NPN三极管提供两种方法解决问题。

    卡丘. 钦爱: 这不还是有5v嘛,如果板子没有5V输入,该怎么将3v转成5v呢

  • STM32通过库函数对同一组IO口的多个引脚进行读写

    密成: 你好,PA2和3是输入,根据输入的状态去设定4—11号引脚的电平设置。按照这样写,2,3号引脚就会被写成都是低电平。有什么方法可以把2,3号引脚单独拿出来不写进去嘛?

大家在看

  • C语言使用指针作为函数参数,并利用函数嵌套求输入三个整数,将它们按大到小的顺序输出。(超详细解析,看完学会指针和函数嵌套同时使用)
  • 【JavaEE】【多线程】单例模式 730
  • 三方(开放)接口加签、验签方案
  • 【Markdown速成】半小时入门Markdown(后缀.md文件详解)
  • 第6天:Intent和页面导航-补充材料——`MainActivity.kt`解读

最新文章

  • 医疗器械产品的 EMC(电磁兼容性)中A、B、C、D 类的区别是什么
  • 医疗器械设备EMC中的1组A类和1组B类分别是什么意思
  • 记录下电脑windows安装Tina的过程
2024年2篇
2023年11篇
2022年63篇
2021年160篇
2020年91篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家淮北玻璃钢造型雕塑天津步行街玻璃钢雕塑订做价格马鞍山玻璃钢雕塑人物设计昆明玻璃钢蘑菇雕塑济南商场美陈公司玻璃钢五环雕塑内蒙古玻璃钢雕塑灯定制玻璃钢海洋雕塑专业益阳玻璃钢雕塑厂家生产盐城蛋形玻璃钢花盆山东玻璃钢雕塑销售厂家广东节庆商场美陈售价河南高质量玻璃钢雕塑销售厂家商场美陈工作内容玻璃钢鹿雕塑尺寸杭州玻璃钢花盆供应玻璃钢卡通雕塑货源充足梅州玻璃钢卡通雕塑代理价格定做玻璃钢造型雕塑澄江市玻璃钢雕塑黄骅玻璃钢座椅雕塑甘肃中高端玻璃钢雕塑厂家室内商场美陈批发阳曲玻璃钢花盆花器深圳装饰商场美陈销售公司张家口人物玻璃钢雕塑厂家玻璃钢雕塑灯光小品佛山玻璃钢植物卡通雕塑出售玻璃钢雕塑湖北玻璃钢人物雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化