STM32F103的PC13、PB3和PB4定义为普通IO口使用
生活随笔
收集整理的這篇文章主要介紹了
STM32F103的PC13、PB3和PB4定义为普通IO口使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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; //最低速率2MHzGPIO_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
總結
以上是生活随笔為你收集整理的STM32F103的PC13、PB3和PB4定义为普通IO口使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32的串口函数_库函数USART_
- 下一篇: 数组作为实参传给函数的形参指针