Brise

STM32F401RE-nucleo CMSIS UART 예제 본문

MCU

STM32F401RE-nucleo CMSIS UART 예제

naudhizb 2017. 12. 5. 14:03
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "stm32f4xx.h"
int main()
{
    RCC->AHB1ENR |= RCC_AHB1Periph_GPIOA;
    GPIOA->MODER &= ~((0x3 << 6| ( 0x3 << 4));
    GPIOA->MODER |=  ((0x2 << 6| ( 0x2 << 4));
    
    GPIOA->AFR[0&= ~( (0x0F << 12| (0x0F << 8));
    GPIOA->AFR[0]  |=  ( (0x7 << 12| (0x7 << 8));
    
    RCC->APB1ENR |= RCC_APB1Periph_USART2;
    USART2->CR1 |= USART_Mode_Rx | USART_Mode_Tx;
    USART2->BRR = 0x00000683// 16Mhz 클럭 사용시 9600bps
    
    USART2->CR1 |= (1<< 13);
    
    while(1) {
        if((USART2->SR & (1<<5)) != 0) {
            int data = USART2->DR;
            while((USART2->SR & (1 << 7)) == 0){}
            USART2->DR = data;
        }
    }
}
 
cs


반응형
Comments