STM32的IO配置时没什么特殊的,有个注意点就是有用IO前须要先打开其时钟线,下面是验证过oK的程序:
RCC->APB2ENR|=GpioBApb2enrEn; //使能PORTB时钟
GPIOB->CRL&=GpioBitClrM5_13; // IO的模式清零
GPIOB->CRL|=GpioBit5PP;//PB.5 推挽输出
GPIOB->ODR|=1<<5; //PB.5 输出高
RCC->APB2ENR|=GpioEApb2enrEn; //使能PORTE时钟
GPIOE->CRL&=GpioBitClrM5_13; //IO的模式清零
GPIOE->CRL|=GpioBit5PP;//PE.5推挽输出
GPIOE->ODR|=1<<5; //PE.5输出高 RCC->APB2ENR|=GpioAApb2enrEn; //使能PORTA时钟
RCC->APB2ENR|=GpioEApb2enrEn; //使能PORTE时钟
GPIOA->CRL&=GpioBitClrM0_8; //清io模式
GPIOA->CRL|=GpioBit0IN; //PA0设置成输入,默认下拉 GPIOE->CRL&=GpioBitClrM2_10&GpioBitClrM3_11&GpioBitClrM4_12;//清io模式
GPIOE->CRL|=GpioBit2IN|GpioBit3IN|GpioBit4IN; // PE2~4设置成输入
GPIOE->ODR|=GpioBit2IPU|GpioBit3IPU|GpioBit4IPU; //PE2~4 上拉