Mini STM32的初学习者来说为什么用到PB3和PB4时无法控制输出呢?
首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些
端口设置为普通I/O口。具体方法如下:
在GPIO_Configuration(); // 配置使用的 GPIO 口:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
// 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
// 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能
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);
注意:不要忘记在RCC_Configuration()中开启AFIO时钟,
//AFIO时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
关键字:STM32F103 JTAG口 重映射 GPIO
引用地址:
STM32F103将JTAG口重映射成为普通GPIO
推荐阅读最新更新时间:2024-03-16 15:41
STM32系列第2篇--GPIO
STM32F103ZET6共有7组IO,每组有16个IO口,16×7=112,从GPIOA-GPIOG IO口标识带FT表示IO口可以接5V高电平 所有的IO口都可以直接作为中断输入 4种输入模式: 输入浮空 输入上拉 输入下拉 模拟输入(模拟电压转数字电压) 4种输出模式: 开漏输出 开漏复用功能 推挽输出 推挽复用功能 注:推挽输出可以输出强高低电平,开漏输出只能输出强低电平,输出强高电平需要外接上拉电阻。 7个寄存器: 两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH) 两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR) 一个32位置位/ 复位寄存器(GPIOx_BSR
[单片机]
STM32的GPIO工作原理详解
STM32的GPIO介绍 STM32引脚说明 GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 STM32F103ZET6芯片为144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。 STM32的大部分引脚除了当GPIO使用之外,还可以复用位外设功能引脚(比如串口),这部分在【STM32】STM32端口复
[单片机]
基于STM32F103单片机的汽车远程防盗系统方案
近几年,汽车偷盗案件越来越多,给人们带来巨大的经济损失。市场上随之出现了各种各样的汽车防盗器,本汽车防盗系统采用ST公司生产的STM32F103R6T6(以下简称STM32F103)单片机作为控制器,功能强大,实时性好。 1 系统结构与功能 汽车远程防盗系统是基于现代无线通信技术设计的,可以不受距离的约束,将汽车的状态信息直接发送到车主手机,进行一对一防盗报警,汽车远程防盗系统的结构如图1所示。 汽车防盗系统的信息采集模块包括人体感应传感器、振动传感器等,用来采集汽车警情信息。传感器将采集到警情信息,传送给微处理器处理,微处理器开始执行报警程序。首先,发送短信到车主手机;然后,报警器根据不同的警情进
[单片机]
关于STM32f103 SPI时钟速度的问题
STM32f103 中APB1的最高频率是36MHz,APB2的最高频率是72MHz,而PCLK1和PCLK2一般也默认配置为其最高工作频率36M和72M。如下图(STM32F10xx_参考手册(第7版) 第46页)时钟树所示: SPI1时钟由APB2时钟分频而来,可以选择2、4、8、16、32、64、128、256这几个分频系数。而手册规定STM32的SPI时钟最快是18MHz。对于STM32F103的SPI1接口时钟,由72M的PCLK2分频得到,所以分配系数大于等于4(72M/4 = 18M)。对于STM32F103的SPI2/SPI3接口时钟,由36M的PCLK1分频得到,所以分配系数大于等于2(36M/2 = 18M
[单片机]
使用STM32f103C8T6芯片IO口不够用怎么办
不用JTAG调试,改用SW调试,这样就可以省出几个IO作为普通IO使用。 可以节省出PA15,PB3,PB4作为普通IO。 方法: RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //开启AFIO复用功能 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); //关闭JTAG口 注意: PA15管脚在设置成下拉输入后本身就有2.67V的电压,不能用于输入检测,做输出时都正常。 PB3和PB4做输入或输出都正常。
[单片机]
基于STM32F103的红外遥控小车
#include remote.h #include stm32f10x.h #include delay.h #include usart.h //ºìÍâÒ£¿Ø³õʼ»¯ //³õʼ»¯IO¿ÚÅäÖÃÒÔ¼°¶¨Ê±Æ÷5ÊäÈ벶»ñ void Remote_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_ICInitTypeDef
[单片机]
STM32F103C8T6+Keil5设计带 SPI接口显示屏的录音机
一、环境介绍 MCU: STM32F103C8T6 开发软件: Keil5 音频模块: VS1053B 录音文件存储设备: SD卡,采用SPI协议驱动 显示屏: SPI接口的0.96寸OLED 代码风格: 采用寄存器编程,代码简洁、执行效率高、注释到位、移植方便。 二、功能介绍 这是基于STM32F103C8T6设计的录音机功能,支持的功能如下: 1. 按下按键1启动自动录音,默认为5秒录音一次,录音完毕自动保存在SD指定目录下。文件名称采用当前时间命名;音频文件格式采用WAV格式存储。 2. 按下按键2启动手动录音,按键按下之后开始录音,再次按下结束录音,录音完毕之后,文件也是一样的保存在SD卡里。 3. SD卡文件系统采用
[单片机]
STM32F4的GPIO口配置模式
STM32F4 每组通用 I/O 端口包括 4 个 32 位配置寄存器(MODER、OTYPER、OSPEEDR和 PUPDR)、2 个 32 位数据寄存器(IDR 和 ODR)、1 个 32 位置位/复位寄存器 (BSRR)、1 个 32 位锁定寄存器 (LCKR) 和 2 个 32 位复用功能选择寄存器(AFRH 和 AFRL)等。 这样,STM32F4 每组 IO 有 10 个 32 位寄存器控制,其中常用的有 4 个配置寄存器+2 个数据寄存器+2 个复用功能选择寄存器,共 8 个。 STM32F4 的 IO 可以由软件配置成如下 8 种模式中的任何一种: (1)GPIO_Mode_AIN 模拟输入 (2)G
[单片机]