STM32F103的PC13、PB3和PB4定义为普通IO口使用

原创 2017年07月11日 09:31:09

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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;  //最低速率2MHz
        GPIO_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            


版权声明:本文为博主原创文章,未经博主允许不得转载。

STM32 PC13 PC14 PC15 驱动LED配置

用STM32F103C8T6引脚分配好了,发现用到了PC13 14 15 引脚,在网上搜索得到以下代码发现PC13可以闪烁LED,PC14 PC15 就不行。仔细看了下说明书发现需要备份区域由VDD供...
  • louyangyang91
  • louyangyang91
  • 2016年03月29日 09:27
  • 2813

②这次将stm32的PC13作为普通i/o口驱动led,不知道能否发生网上提到的现象

1.因为模拟开关只能通过少量的电流(3mA),使用PC13至PC15的I/O口功能是有限制的:速度必须限制在2MHz以下,最大负载为30pF,而且这些I/O口绝不能当作电流源(如驱动LED)。 这次...
  • hit97
  • hit97
  • 2012年03月19日 16:10
  • 4621

STM32把PC13、PC14、PC15、PB3、PB4、PA15作为普通IO使用

在MCU刚上电时,PC13作为侵入检测TAMPER引脚, PC14、PC15默认是作为连接32.768K低速外部晶振用的脚,PB3、PB4、PA15是JTAG调试脚,不能直接作为普通IO使用,下面是将...
  • u010081696
  • u010081696
  • 2015年10月27日 20:46
  • 2611

STM32F10x系列的MCU配置PB3和PB4为普通IO口

对于初学习者来说为什么用到PB3和PB4时无法控制输出呢? 下面就这一问题进行分析讲解。 首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG...
  • bobbat
  • bobbat
  • 2016年03月17日 09:04
  • 1729

STM32中关于JTAG复用的问题

STM32中关于JTAG复用的问题
  • jmmx
  • jmmx
  • 2015年01月16日 15:51
  • 2724

STM32 JNTRST JTDI JTDO(PB4 PB3 PA15)引脚用做普通IO方法

#define GPIO_Remap_SWJ_JTAGDisable  ((uint32_t)0x00300200)  /*! RCC_APB2PeriphClockCmd(RCC_APB2...
  • u013608300
  • u013608300
  • 2016年04月03日 17:46
  • 3169

关于STM32 PB3 PB4 如何设置成普通GPIO的配置

对于初学习者来说为什么用到PB3和PB4时无法控制输出呢? 下面就这一问题进行分析讲解。 首先,STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG...
  • love33521
  • love33521
  • 2012年12月17日 16:31
  • 12721

STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置

最近博主用STM32F103C8T6做了一个温度测控模块,用到PB3,PB4,PA15等引脚控制外设。发现不管怎么配置,这三个引脚都不能置零。后来发现是包括这三个引脚在内的PB3,PB4,PA13,P...
  • qhw5279
  • qhw5279
  • 2017年05月22日 21:58
  • 2795

STM32 中JTAG 引脚作为普通IO口设置方法

第一次画STM32 的PCB ,因为采用了SWD 调试,认为JTAG的引脚PB3,PB4,没
  • iccome
  • iccome
  • 2014年06月21日 18:10
  • 17026

STM32引脚JTDO、JNTRST与JTDI作为普通IO口使用配置

使用Jlink向STM32烧录程序时,需要使用6个芯片的引脚(以STM32F103C8T6为例),分别是PB4/JNTRST、PB3/JTDO、PA13/JTMS、PA14/JTCK、PA15/JTD...
  • MengchiCMC
  • MengchiCMC
  • 2017年04月05日 20:31
  • 2928
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STM32F103的PC13、PB3和PB4定义为普通IO口使用
举报原因:
原因补充:

(最多只允许输入30个字)