STM32_管脚 部分映射和全映射

发布者:JFET最新更新时间:2022-04-27 来源: eefocus关键字:STM32  管脚  映射 手机看文章 扫描二维码
随时随地手机看文章

在管脚映射的时候一定要记得开启映射的时钟RCC_APB2Periph_AFIO


如下


RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

GPIO_PinRemapConfig(GPIO_Remap_PD01, ENABLE);    

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//全部释放

GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE);

GPIO_PinRemapConfig(GPIO_FullRemap_TIM2, ENABLE);


映射了PD0,PD1(外部时钟管脚,默认为时钟输入)。


STM32中关于PD0和PD1的映射有如下说明:


The pins number 2 and 3 in the VFQFPN36 package, and 5 and 6 in the LQFP48 and LQFP64 packages are configured as

OSC_IN/OSC_OUT after reset, however the functionality of PD0 and PD1 can be remapped by software on these pins. For the LQFP100 package, PD0 and PD1 are available by default, so there is no need for remapping. For more details, refer to the Alternate function I/O and debug configuration section in the STM32F10xxx reference manual.

The use of PD0 and PD1 in output mode is limited as they can only be used at 50 MHz in output mode.


切记:PD0和PD1使用输出模式的时候被限制在只能用50MHz使用,否则无法输出高低电平。实测验证过,,,,

 

GPIO_Remap_SWJ_Disable是将JTAG所有的管脚全映射为GPIO了。


至于部分映射TIM3和全映射TIM2,等其他的映射可查看寄存器AFIO_MAPR的说明。如下图

我的程序使用的是PB4输出定时器3 通道1的PWM,故此处为GPIO_PartialRemap_TIM3部分重映射。


又如下图,

#define GPIO_Remap_SWJ_NoJTRST      ((uint32_t)0x00300100) 

#define GPIO_Remap_SWJ_JTAGDisable  ((uint32_t)0x00300200)

#define GPIO_Remap_SWJ_Disable      ((uint32_t)0x00300400) 


可以通过选择GPIO_Remap_SWJ_NoJTRST     ,将PB4的IO功能使用,就是释放了NJTRST的功能。


当选择GPIO_Remap_SWJ_Disable,所有相关的调试口均释放成了IO口。此时通过Jlink的SW方式下载时,无法下载程序,


解决方法:

1.需要复位下载(可将复位管脚对地短路,在点击下载后,释放复位管脚即可下载程序,复位时,管脚为默认功能)


2.将BOOT0拉高使用串口下载。


 


注意:

(1)TIM2_CH1 和 TIM2_ETR 共用一个引脚,但不能同时使用(因此在此使用这样的标记: TIM2_CH1_ETR)


(2)当不使用主振荡器HSE时(系统运行于内部的8MHz阻容振荡器), PD0和PD1可以映像到OSC_IN和OSC_OUT引脚。此功能只能适用于36、 48和64引脚的封装(PD0和PD1出现在100脚和144脚的封装上,不必重映像)。


关键字:STM32  管脚  映射 引用地址:STM32_管脚 部分映射和全映射

上一篇:STM32串口之空闲中断
下一篇:stm32_汇编(STR和LDR)

推荐阅读最新更新时间:2024-11-17 01:51

STM32的结构和启动模式
一、STM32F10x功能模块 32位的Cortex-M3微处理器; 可嵌套的向量中断控制器(NVIC)和60个可屏蔽中断且有16个可编程优先级; 内嵌内存: FLASH:最大512K字节 STAM:最大64K字节 扩展内存接口(FSMC): 支持NAND、SRAM、NOR、PC Card和其他内存设备; 2个DMA,共有12个通道; SDIO: 支持SD、SDIO、MMC和CE-ATA卡; 硬件CRC; 带有电压调节器且具有多种低功耗模式: 电压范围:2V~3.6V; 4中带自动唤醒的低功耗模式; 具有上电/掉电复位和可编程电压检测功能; 带84个字节寄存器的备份区域; 使用带时钟安全系统的时钟控制模块进行频率管理和监控,频率最
[单片机]
STM32独立看门狗(宠物狗)
一、前言 ······在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) ,其主要功能是:能够让CPU复位的一个硬件。 ······看门狗( watchdog timer),是一个定时器电路, 一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU正常工作
[单片机]
<font color='red'>STM32</font>独立看门狗(宠物狗)
HC-SR501热释电红外传感器驱动(STM32
一、前期准备 单片机:STM32F103ZET6 开发环境:MDK5.14 库函数:标准库V3.5 HC-SR501热释电红外传感器模块:淘宝有售 二、实验效果 三、驱动原理 这个模块比较简单,当有人靠近时候其IO输出3.3V,STM32可以直接采集。 需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。 四、驱动代码 HC_SR501.h #ifndef __HC_SR501_H__ #define __HC_SR501_H__ #include stm32f10x.h #include gpio.h #include delay.h #define HC_SR501 PA
[单片机]
HC-SR501热释电红外传感器驱动(<font color='red'>STM32</font>)
STM32定时器中断关于何时清除中断的总结
问题:在调STM32的程序的时候,发现定时器(timer2)比自己设定的中断周期缩小了一倍。设定为10ms中断一次,但实测发现5ms便中断了一次。 初始化代码如下: void InitTimer2(void) { RCC- APB1ENR|=0x01; //enable clock,max clock=36M TIM2- PSC=71; // counter clock CK_CNT=72M/(71+1)=1M TIM2- ARR=10000; // 10000*1us=10ms TIM2- CR1 |=0x0080; //Auto-reload preload enable TIM2- EGR |=0x0001;
[单片机]
STM32 AD交替触发模式程序
简介:今天配置了STM32 AD的交替触发模式,采样基本做到1us一个样本了。通道10 1.5周期,使用交替模式,采样时间小于7.5 ADCclock 。 void Adc_Init(u16 period) { GPIO_InitTypeDef GPIO_InitStruct; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); GPIO_InitStru
[单片机]
<font color='red'>STM32</font> AD交替触发模式程序
STM32学习笔记一一待机唤醒
1. 简述 1.1 低功耗模式: 在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如:等待某个外部事件时,常见的按键唤醒。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。 1.2 STM32F10X系列的低功耗模式 STM32F10xxx有三种低功耗模式: –模式– –特点— 睡眠模式 Cortex-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行 停止模式 所有的时钟都已停止 待机模式 1.8V电源关闭 在这三种低功耗模式中,最低功耗的是待机模式,在此模
[单片机]
<font color='red'>STM32</font>学习笔记一一待机唤醒
基于STM32单片机对HCSR04超声波的控制
注意:定义GPIOB2为超声输出;GPIOB10为输入,定时器用tim2 #include “HCSR04.h” #include “delay.h” #include “sys.h” int overcount; float length=0; void HCSR04_init() { GPIO_InitTypeDef GPIO_InitStructure; TIM_TImeBaseInitTypeDef TIM_TImeBaseInitStructer; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , EN
[单片机]
基于<font color='red'>STM32</font>单片机对HCSR04超声波的控制
意法的90纳米STM32微控制器内置独特闪存加速器
    意法半导体宣布取得两项重大技术进展,促使市场成功的STM32系列微控制器的性能和功耗获得进一步提升,这两项进展分别是:内嵌90纳米制程闪存的微控制器问世;推出业内首款针对工业标准的ARM Cortex-M3内核优化的自适应实时(ART)存储器加速器。     意法半导体的首批采用90nm嵌入式闪存制程生产的STM32微控制器的运行速度更快,功耗更低,外设集成度更高,片上存储密度更大。90nm嵌入式闪存技术的性能已经在智能卡和汽车电子IC上得到实证。意法半导体已于2009年发布了内嵌90nm 闪存的微控制器的样片。     由于ARM Cortex-M3的性能高于闪存技术,在运行频率较高时,处理器必须等待闪存,意法半
[单片机]

推荐帖子

【SensorTag】 USB Dongle 两种工作模式切换
本帖最后由tianshuihu于2014-3-1517:38编辑 上次介绍了USBDongle用于抓包时的情况,之前看到‘wateras1’的介绍,其还可以用作BTool\\BLEDeviceMonitor,刚好手边也有CCdebugger可以重新写其硬件,下面就来试一下吧准备工作硬件USBDongle和CCdebugger,还有一根连接接线烧写软件‘SmartRFFlashProgrammer’(
tianshuihu 无线连接
为什么我买的ARM开发板WINCE显示内存是28M?实际因该是64M
我买了块飞凌2440的ARM开发板,配置应该是64M内存。但是开机启动后查看wince下内存大小却是显示28368KBRAM?请问这是什么原因,请高手回答一下为什么我买的ARM开发板WINCE显示内存是28M?实际因该是64MX86体系下程序都是要载入内存执行的,WinCE的核心类似于WIN98,所以默认也是这样的。但ARM体系和X86有很大的区别,ARM体系下的FLASHROM有一个XIP区,这个区的代码是直接在ROM上执行的,不需要复制到内存(实际上直接在XIP上执行速度更快)。而
lishixin WindowsCE
CCS6编译出现的问题总结及解决办法
错误1、error#7:unrecognizedtoken.....解决办法:打开CCS6软件,window—preferences—workspace—“Textfileencoding”将默认的CP1252编码改成other中的UTF-8或UC-ASCII,这种修改也可以解决拷贝进来的文件中注释乱码的现象。错误2、error#10234-D:unresolvedsymbolsremain解决办法:Properties-predefin
Jacktang DSP 与 ARM 处理器
请教芯片上的标志是哪个公司的?
请教一下有见识的人看一下芯片上的标志是哪个公司的?像是国产的请教芯片上的标志是哪个公司的?我这边的FLASH也是这个标志同求产家我的是PLCC封装的想知道,帮顶。 http://www.greenliant.com/应该是这家没错带链接会吞,自己搜下吧greenliantNANDrive这个品牌是SST现在叫GLS系列是原美国SST超捷公司去年推出的新产品系型号为GLS29EE010-70-4C-PHESST去年被分割了,SST25系列被他们代理
weibinhi 模拟电子
6410硬件编解码的一点疑问?
我主要想知道硬件编解码之前的数据是什么格式或者封装的?之后应该就是H.264,MPEG-4之类的吧。之前呢?通过以太网接口的以太网数据帧(应该包含视频流的)能直接通过硬件编解码进行播放吗?还有TV-in,进来的是什么数据?那个接口是接什么的?TV-OUT,出去的是什么数据?这个接口又是接什么的?好像6410提供的只是DEMO测试,有没有哪家的板子提供这方面的驱动源码呢?6410硬件编解码的一点疑问?友坚的板板有,可以在他们公司主页上得到技术支持的电话……还有TV-in,进来的是什么数
wbzh 嵌入式系统
usb复合设备遇到问题
要做一个HID和MSD的复合设备,stm32f103在发送完configdescriptor后出现问题。bushond如下:21.0CTL8006000100001200GETDESCRIPTOR1.1.021.0DI120100020000004083045057000201020301
chuanshuo898 stm32/stm8
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved