USART의 RS 스텟을 본다.


#define USART_FLAG_RXNE    ((uint16_t)0x0020)

:Read data register not empty

multi-buffer 통신 등의 상황에서 사용


1은 데이터가 수신되어 읽을 수 있는 상태가 되었다는 것을 의미

0은 데이터가 아직 수신되지 않았다는 의미


RDR shift register[각주:1]가 데이터를 수신하고 이것을 USART_DR register로 옮기게 된다. 모두 옮겨졌을 경우 이 비트가 1이 된다.


rc_w0:read & c_w0

c_w0 : 0을 write함으로써 이 비트는 0으로 clear 된다는 것을 의미

c_w1 : 1을 write함으로써 비트가 0으로 clear 된다.


uint16_t USART_ReceiveData(USART_TypeDef* USARTx)

{

/* Receive Data */

return (uint16_t)(USARTx->DR & (uint16_t)0x01FF);

}

USART_DR레지스터에서 값을 읽어온다.

USART_DR레지스터의 아홉비트만이 의미가 있다.


  1. 어디있냐? [본문으로]

'중도연재종료 > CORTEX M3' 카테고리의 다른 글

RCC_GetClockFreq  (0) 2013.06.23
Clock Control  (0) 2013.06.23
당분간 정지  (0) 2013.06.14
UART_ Hello_Wolrd 찍기_2  (0) 2013.06.08
UART_ Hello World 찍기_1  (0) 2013.06.08
Posted by 십자성군