UDRn의 올바른 검사방법
2019. 5. 15. 01:04ㆍ임베디드/ATmega128
ISR(USART0_RX_vect) {
if(!(UDR0 == '\r' || UDR0 == '\n')) {
rxdata = UDR0;
}
}
잘못된 코드의 예이다. UDR0 == '\r'에서 이미 한 바이트를 수신하게 된다 따라서 올바른 rxdata가 들어가지 않는다. 따라서 임시변수에 UDR0을 담고 검사하는 것이 맞는 코드이다
char rxdata;
ISR(USART0_RX_vect) {
char tmp = UDR0;
if(tmp != '\r') {
rxdata = tmp;
}
}
'임베디드 > ATmega128' 카테고리의 다른 글
avr 보드와 putty와의 악연 (0) | 2019.05.15 |
---|---|
avr-gcc 자료형과 크기 (0) | 2019.05.15 |
RS232C와 UART (0) | 2019.05.14 |
보율과 bps (0) | 2019.05.14 |
What does PuTTY send when I press Enter key? (0) | 2019.05.14 |