ATmega 128 채팅프로그램 졸업작품 만들기
- 최초 등록일
- 2012.03.15
- 최종 저작일
- 2012.01
- 7페이지/
한컴오피스
- 가격 1,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
*** 작품 소개 ***
ATmega128 2개와 컴퓨터 2개를 이용하여 상호 대화가 가능하게 한다.
(채팅 프로그램)
*** 인터럽트? ***
컴퓨터 작동 중에 예기치 않은 문제가 발생한 경우라도 업무 처리가 계속될 수 있도록 하는 컴퓨터 운영체계의 한 기능.
목차
1.작품소개
2.인터럽트
3.ATmega128 연결
3.UART 통신
4.소스
본문내용
#include <mega128.h>
#define RXB8 1
#define TXB8 0
#define UPE 2
#define OVR 3
#define FE 4
#define UDRE 5
#define RXC 7
#define FRAMING_ERROR (1<<FE)
#define PARITY_ERROR (1<<UPE)
#define DATA_OVERRUN (1<<OVR)
#define DATA_REGISTER_EMPTY (1<<UDRE)
#define RX_COMPLETE (1<<RXC)
/////////////////////////////////////////////////// 변수 선언
int x = 0, y = 0;
char RXdata1[50] = {0};
char RXdata2[50] = {0};
void RXsave1(char data);
void RXsave2(char data);
///////////////////////////////////////////////////
#define RX_BUFFER_SIZE0 8
char rx_buffer0[RX_BUFFER_SIZE0];
#if RX_BUFFER_SIZE0<256
unsigned char rx_wr_index0,rx_rd_index0,rx_counter0;
#else
unsigned int rx_wr_index0,rx_rd_index0,rx_counter0;
#endif
bit rx_buffer_overflow0;
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
char status,data;
status=UCSR0A;
data=UDR0;
/////////////////////////////////////////////////// 상대의 문장을 받아들여 RXsava1 함수에 보낸다.
RXsave1(data);
///////////////////////////////////////////////////
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer0[rx_wr_index0]=data;
if (++rx_wr_index0 == RX_BUFFER_SIZE0) rx_wr_index0=0;
if (++rx_counter0 == RX_BUFFER_SIZE0)
{
rx_counter0=0;
rx_buffer_overflow0=1;
참고 자료
없음