STM32F401 Codes

20200707=2

1. STM32F401CCU6 Development Board.
2. ST Link V2.
3. Keil IDE.


==============================
//  T10.c      Testing IDE



int main(void){

}


==============================
//  T12.c      Testing StLink and board



int main(void){

while(1);
}


==============================
//  T14.c      On-board LED, bit configuration

#include <stm32f401xc.h>

int main(void){

RCC->AHB1ENR |= 1<<2 ;   
  GPIOC->MODER |= 1<<26 ; 
  GPIOC->ODR   &= ~(1<<13) ;

while(1);
}


==============================
//  T16.c      On-board LED, using header file

#include <stm32f401xc.h>

int main(void){

RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN ;   
  GPIOC->MODER |= GPIO_MODER_MODER13_0 ; 
  GPIOC->ODR   &= ~GPIO_ODR_OD13 ;

while(1);
}


==============================
//  T18.c      On-board LED, using header file, off LED

#include <stm32f401xc.h>

int main(void){

RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN ;   
  GPIOC->MODER |= GPIO_MODER_MODER13_0 ; 
  GPIOC->ODR   |= GPIO_ODR_OD13 ;

while(1);
}


==============================
//  T21.c      Showing inadequate configuration

#include <stm32f401xc.h>

int main(void){

RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN ;   
GPIOC->MODER |= GPIO_MODER_MODER13_Msk ;  // Analog 
  GPIOC->MODER |= GPIO_MODER_MODER13_0 ; 
  GPIOC->ODR   &= ~GPIO_ODR_OD13 ;

while(1);
}


==============================
//  T22.c      Masking significant bits

#include <stm32f401xc.h>

int main(void){

RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN ;   
GPIOC->MODER &= ~GPIO_MODER_MODER13_Msk ;  // Clear bits
  GPIOC->MODER |= GPIO_MODER_MODER13_0 ; 
  GPIOC->ODR   &= ~GPIO_ODR_OD13 ;

while(1);
}


==============================
//  T23.c      More configuration

#include <stm32f401xc.h>

int main(void){

RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN ;   
GPIOC->MODER &= ~GPIO_MODER_MODER13_Msk ;  // Clear bits
  GPIOC->MODER |= GPIO_MODER_MODER13_0 ; 
GPIOC->OTYPER &= ~GPIO_OTYPER_OT_13 ;
GPIOC->OSPEEDR &= ~GPIO_OSPEEDR_OSPEED13_Msk ;  // Clear bits --> Low speed
  GPIOC->ODR   &= ~GPIO_ODR_OD13 ;

while(1);
}


==============================


Comments