728x90
반응형
void DBGU_init() |
페리티를 짝수로 설정하고 NOMAL MODE로 맞추어 놨음
AT91C_DBGU_MR 레지스터의 셋팅이 끝났으며
DBGU_SR 레지스터를 이용해 송수신의 상태를 알아본다.
unsigned char DBGU_Rx(void) |
헤더파일에 define되어 있는 SR레지스터의 이름은 ' AT91C_DBGU_CSR '이다.
#define AT91C_US_RXRDY (0x1 << 0) // (DBGU) RXRDY Interrupt |
보다시피 각각의 비트는 위와같이 define되어 있다.
다시 위의 소스코드로 돌아가
Rx함수부터 살펴보면
DBGU_SR의 define된 이름은 AT91C_DBGU_CSR 이다.
이 레지스터의 RXRDY가 '0'이라면 무한 while문이 돈다
그리고 RXRDY의 상태가 '1'이된다면 AT91C_DBGU_RHR에 있는 데이터가 return될 것이다.
Tx함수를 살펴보면
Rx함수와 마찬가지로 TXRDY비트에 '1'이 들어간다면 AT91C_DBGU_THR 에 원하는 데이터가 들어갈 것이다.
void DBGU_Str(unsigned char *cString) |
위 함수까지 작성했다면 UART통신할 준비가 다 된 것이다.
이제 ' DBGU_Str' 함수를 이용해 원하는 문자데이터를 하이퍼 터미널에 띄울 수 있게 된다.
- main()
int main() |
728x90
'코스웨어 > 14년 스마트컨트롤러' 카테고리의 다른 글
2014.07.14 일일보고서 번호8번 김진철 (13) | 2014.07.14 |
---|---|
Interrup LED 켜기 (0) | 2014.07.14 |
업무일지 출석번호 7번 김재성 (12) | 2014.07.11 |
업무보고 2014.07.10 5번 김상엽 (14) | 2014.07.10 |
DBGU.c 참고 자료 (0) | 2014.07.09 |
20140708 일일보고 2번 고한솔 (15) | 2014.07.09 |
20140707 일일보고 1번 고윤석 (15) | 2014.07.07 |
2014.07.04 일일보고 - 출석번호 22 허수웅 (13) | 2014.07.06 |