안녕하세요 숭덕이 박제현입니다.
오늘 많이 삽질을 했습니다..
저녁에 와서 요즘 스트레스로 어깨가 많이 결려서 하루종일 침대에 누워있다가 이렇게 하면 안되겠다 싶어
주말에 올리기로 한 블루투스(FB155BC) 글을 올립니다.
현재 새벽 4:03분이네요
컴파일은 코드비젼이고요 크리스탈은 14.7456 입니다. 이것때문에 많은 고생을 했다는...........
STM32만 매일 하다가 오랜만에 AVR 잡으니까 힘드네요 AVR은 무조건 16Mhz 인줄알았습니다. ^^
그래서 UBRR을 103으로 보레이트 9,600으로 했는데 아무리 해도 안되길래 이걸로 1시간 동안 고민했다는.....^^
소스는 쉽다보니...책에서 레지스터값만 찾아서 공부하시면 쉬울듯 합니다..
#include <mega128.h> #include <delay.h> char rx; interrupt[USART0_RXC]void usart0_rxc(void){ 레지스터에 데이터를 쓰면 송신 데이터버퍼 TXBn에 값이 써지고, UDRn 레지스터를 읽으면 데이터 버퍼 RXBn에 DDRC=0xff;
UBRRL = (F_CPU/(UART_BAUD_RATE*16L)-1; // 보레이트 계산식입니다. 보레이트때문에 고생을 많이 했네요 14.7456Mhz로 계산결과 97이 나왔는데 데이터시트에는
95로 적혀있길래 95로 사용하였고요 또한 에러율은 0% 마음에 드네요 속도면서 크게 문제가 되지는 않을거 같습니다. #asm("sei") } |
|
'AVR 8BIT > 통신(USART)' 카테고리의 다른 글
블루투스(FB155BC)를 이용한 CDS센서 값 USART 찍기 (0) | 2011.05.24 |
---|---|
ATMEGA USART 이론 (0) | 2011.05.20 |