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
Post a Comment