STM32F103系列 PB4引脚问题
来源:互联网 发布:windows10教育版 知乎 编辑:程序博客网 时间:2024/05/21 16:51
因为STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能
1、禁用PB4复用功能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
或者GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
用这两天其中一条,完全禁用JTAG+SW-DP或者屏蔽JTAG-DP,用来释放各个io。
注意:还是用以下这条来释放PB4吧,因为上面两条会禁用SW和JTAG,造成无法调试
GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);
2、正常配置IO
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
3、注意:不要忘记在RCC_Configuration()中开启AFIO时钟,
//AFIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
使PB4口作为正常IO 方法
{ 1 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
或者GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
2 在RCC_Configuration()中开启AFIO时钟,
//AFIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
}
注:stm32L1系列的低功耗单片机,直接用正常配置io的方法就可以了,不行再用GPIO_PinRemapConfig。
另外:当使用PB4 /PB3之后,JTAG不能使用,可以用SW来下载程序,只需在下载软件里选择SW接口就可以了(用的是j-link V8)
1、禁用PB4复用功能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
或者GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
用这两天其中一条,完全禁用JTAG+SW-DP或者屏蔽JTAG-DP,用来释放各个io。
注意:还是用以下这条来释放PB4吧,因为上面两条会禁用SW和JTAG,造成无法调试
GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);
2、正常配置IO
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
3、注意:不要忘记在RCC_Configuration()中开启AFIO时钟,
//AFIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
使PB4口作为正常IO 方法
{ 1 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
或者GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
2 在RCC_Configuration()中开启AFIO时钟,
//AFIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
}
注:stm32L1系列的低功耗单片机,直接用正常配置io的方法就可以了,不行再用GPIO_PinRemapConfig。
另外:当使用PB4 /PB3之后,JTAG不能使用,可以用SW来下载程序,只需在下载软件里选择SW接口就可以了(用的是j-link V8)
阅读全文
1 0
- STM32F103系列 PB4引脚问题
- STM32F103 PB3 PB4使用方法
- 解决STM32F103单片机PB4无法拉低的问题
- STM32F103单片机使用PA13,PA14引脚的一些问题
- stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
- stm8s: GPIO配置,点亮LED!PB4,PB5引脚LED点不亮
- STM32F103 STM32F407 引脚配置 方法对比
- stm32f103 关于引脚的7中模式
- STM32F103系列命名规则
- STM32F103系列命名规则
- STM32F103的PC13、PB3和PB4定义为普通IO口使用
- GPIO初始化之PB3/PB4/PA13/PA14/PA15引脚的复用
- STM32 JNTRST JTDI JTDO(PB4 PB3 PA15)引脚用做普通IO方法
- STM32F103x8B PB3、PB4、PA14、PA15引脚作为普通IO口使用
- STM32F103程序设计-5-控制引脚高低电平的实现
- STM32F103程序设计-6-引脚输入功能-按键(查询)
- STM32F103程序设计-7-引脚输入功能-按键(中断)
- STM32F103的ADC问题
- com.google.gson.JsonSyntaxException的解决方法
- android-clipChildren属性
- 解决antd Cannot read property 'validate' of undefined
- mysql 5.19 windows安装后无法启动服务
- Leetcode挑战题——2 Keys Keyboard
- STM32F103系列 PB4引脚问题
- CSRF攻击防御---验证HTTP Referer
- HDU 1538 A Puzzle for Pirates(经典好题,海盗分金问题)
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
- 深度解析AbstractQueuedSynchronizer实现原理(上)
- PCDN服务接入实操手册
- 阶乘除法 CSU
- pip 命令集合
- Java集合Map<K,V>