STM32F103的PC13、PB3和PB4定义为普通IO口使用
2017-07-11 09:31
337 查看
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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
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、PB3、PB4、PA15作为普通IO使用
- STM32C8T6 JTAG使用到PB3|PB4|PA13|PA14|PB15端口做普通IO时,需禁止JTAG!
- STM32C8T6 JTAG使用到PB3|PB4|PA13|PA14|PB15端口做普通IO时,需禁止JTAG!
- STM32F103x8B PB3、PB4、PA14、PA15引脚作为普通IO口使用
- stm32f103系列芯片JTAG口当做普通IO使用
- STM32单片机释放PB3/PB4/PA15作为普通IO口
- STM32的PC13、PC14、PC15用作普通IO口设置方法
- STM32L PC13当IO口使用驱动LED,PC14,PC15外接晶振,且RTC正常...
- STM32F1系列PB3,PB4,PA13,PA14,PA15用作普通IO口的特殊配置
- stm32f103系列芯片JTAG口当做普通IO使用----本人曾经卡在这里几天!!!
- stm32f103系列芯片P15端口当做普通IO使用
- pc解读13:定时器的使用与时间获取
- ②这次将stm32的PC13作为普通i/o口驱动led,不知道能否发生网上提到的现象
- stm32 pc13~pc15 tamper-rtc OSC32-IN/OSC32-OUT 配置成IO口
- 使用单片机普通IO口模拟串口的三种方法
- stm32的jatg口配置为普通io口使用
- 关于STM32中PA15引脚作为普通io的使用
- java入门学习(13)—枚举类定义及使用初步
- stm32 PB3 PB4 PA15引脚作为普通IO口使用指南
- STM32引脚JTDO、JNTRST与JTDI作为普通IO口使用配置