Page 128 - 3-3
P. 128

마. USART   관련 레지스터
                  1) UDRn(USARTn I/O Data Register)
                      UDRn(USART I/O Data Register)   레지스터는 USARTn         모듈의 송수신 데이터 버퍼의 기능
                    을 수행하며 각 포트의 송신 및 수신 버퍼는 동일한 주소에 위치하지만 내부적으로는 서로 다
                    른 별개의 레지스터로서 송신할 데이터를 UDRn                   에 Write 하면 이는 송신 데이터 버퍼 TXB             에
                    저장되고 수신된 데이터를 UDRn             에서 읽으면 수신 데이터 버퍼 RXB              에 수신되어 있는 값이
                    읽혀진다. ex) Read: char A = UDR0; ex) Write: UDR0 = 3;


                  2) USRnA(USARTn Control & Status Register A)
                    가) BIT 7: RXCn(USARTn Receive Complete)
                      RXCn(USARTn Receive Complete)      비트는 수신버퍼에 읽혀지지 않은 수신 문자가 들어있
                    으면 "1"  로 셋 되고 CPU     가 이를 읽어서 수신버퍼가 비어있는 상태라면 "0"                    으로 클리어 되었
                    음을 나타내는 상태 플래그이다. RXCn               비트는 수신 완료 인터럽트를 발생시킬 때 사용한다.


                    나) BIT 6: TXCn(USARTn Transmit Complete)
                      TXCn(USARTn Transmit Complete)      비트는 송신 시 포트 레지스터에 있는 송신 데이터가
                    모두 송신되고 UDRn       의 송신 버퍼에 아직 새로운 송신 데이터가 라이트 되지 않은 상태 이면
                    "1" 로 셋 되는 상태를 지시 하는 플래그이다. TXCn                 비트는 송신 완료 인터럽트를 발생 시킬
                    때 사용된다.


                    다) BIT 5: UDREn(USARTn Data Register Empty)
                      UDREn(USARTn Data Register Empty)     비트는 UDRn     의 송신 버퍼에 새로운 송신 데이터
                    를 받을 준비가 되어 있으면 "1"            로 셋 되는 상태 플래그이다 UDREn              비트는 UDARTn Data
                    Register Empty  인터럽트를 발생할 때 사용한다.


                    라) BIT 4: FEn(Frame Error)
                      FEn(USARTn Frame Error)    비트는 UDRn    의 수신 버퍼에 현재 저장 되어있는 데이터를 수
                    신 하는 동안 프레임 에러가 발생 하였음을 나타내는 상태 플래그로 프레임에러는 수신 문자,
                    의 첫 번째 스톱비트가"0"         으로 검출 되면 발생 로 셋 되고 하고(1        )     UCSRAn   레지스터를 라이트
                    하면 이 비트는 "0"      으로 클리어된다.


                    마) BIT 3: DORn*Data OverRun
                      DORn(USARTn Data Overrun Error)      비트는 수신 동작에서 오버런 에러가 발생하였음을
                    나타내는 상태 플래그로 OverRun Error           는 UDRn   의 수신 버퍼에 현재 읽지 않은 수신 문자가
                    들어있는 상태에서 수신 시 포트레지스터에 새로운 문자가 수신 완료되면 다시 그 다음 수신,                  ,
                    데이터인 3    번째 문자의 스타트비트가 검출되면 발생한다. UCSRnA                        레지스터를 라이트 하면
                    이 비트는 "0"    으로 클리어된다.


                    바) BIT 2: PEn(Parity Error)
                      PEn(Parity Error) 비트는 UDR   의 수신 버퍼에 현재 저장 되어 있는 데이터를 수신 하는 동
                    안 패리티 에러가 발생 하였음을 나타내는 상태플래그로 패리티에러는 UCSRnC                                  레지스터의
                    UPMn1   비트를"1"    설정하여 패리티 비트를 사용하도록 설정 한 경우에만 발생할 수 있다 레.
                    지스터를 라이트하면 이 비트는"0"             으로 클리어된다.


                    사) BIT 1: UCXn(Double the USARTn Transmission Speed)


                                                        - 128 -
   123   124   125   126   127   128   129   130   131   132   133