본문 바로가기
반응형

임베디드10

AVR용 USB타입 ISP툴 FT232BL 드라이버 http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=2725 FT232BL 드라이버 2009. 10. 15.
AVR실습 윈도우 기반의 직렬통신(Read) #include "stdafx.h" #include #include int main(void) { char szPort[15]; //포트명을 저장할 변수 wsprintf(szPort,"com%d", 3); // 2번포트로 통신 //Comm device를 File Open과 같은 방법으로 연결 HANDLE m_hComm = NULL; //통신 포트 핸들 m_hComm = CreateFile( szPort,GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (m_hComm == INVALID_HANDLE_VALUE) { printf("(!) Failed to create a Comm Device file... 2009. 7. 14.
AVR실습 윈도우 기반의 직렬통신(Write) // RT.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include int main(void) { char szPort[15]; //포트명을 저장할 변수 wsprintf(szPort,"com%d", 2); // 2번포트로 통신 //Comm device를 File Open과 같은 방법으로 연결 HANDLE m_hComm = NULL; //통신 포트 핸들 m_hComm = CreateFile( szPort,GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (m_hComm == INVA.. 2009. 7. 14.
AVR실습 직렬통신 #include #define CPU_CLOCK 16000000 //MCU의 속도 #define BAUD_RATE 19200 //동신시 이용할속도? #define BAUD_RATE_L (CPU_CLOCK / (16l * BAUD_RATE)) -1 #define BAUD_RATE_H ((CPU_CLOCK / (16l * BAUD_RATE)) -1) >> 8 /* 통신속도의 결과 값을 입력하기 위해 상위 비트로 구분 161은 16+L이며, 연산시 값이 너무 커져 OVERFLOW가 발생하므로 32비트연산을 위해 16에 Long을 의미하는 l을 붙인다.*/ void uart_send_byte(unsigned char byte) //1비트전송 함수 { while (!(UCSR1A & (1 2009. 7. 14.
AVR실습 외부 EEPROM쓰기 [조건] 이전에 내부 EEPROM을 사용한 과제내용으로 TWI (l2C)직렬 통신을 이용한 외부 EEPROM을 사용하여 구동한 소스 #include #include #include #include #define CPU_CLOCK 16000000 //클럭 #define TICKS_PER_SEC 1000 //틱 #define PRESCALER 64 //프리스케일러 #define AT24C16_ADDR 0xA0 //외부EEPROM 디바이스주소 volatile unsigned int g_elapsed_time; volatile unsigned int j=0; void initLED(void); void setTCCR0(void); void initTCNT0(void); void setTIMSK(void); vo.. 2009. 7. 8.
AVR 실습 내부 EEPROM 쓰기 [요구사항] LED와 KEY를 사용한다 각 LED는 이웃한 각KEY버튼과 짝이 된다. 각 KEY를 누르면 LED가 토글된다. 현재의 상태를 매번 EEPROM에 기억시킨다. DK-128의 전원을 껏다가 켰을때, 이전의 LED상태를 그대로 표시 하여야 된다.. #include #include #include #include #define CPU_CLOCK 16000000 //클럭 #define TICKS_PER_SEC 1000 //틱 #define PRESCALER 64 //프리스케일러 volatile unsigned int g_elapsed_time; volatile unsigned int j=0; void initLED(void); void setTCCR0(void); void initTCNT0(void.. 2009. 7. 7.
AVR실습//내부 EEPROM 쓰기 #include #include #include #include #define CPU_CLOCK 16000000 #define TICKS_PER_SEC 1000 #define PRESCALER 64 volatile unsigned int g_elapsed_time; void initLED(void); void setTCCR0(void); void initTCNT0(void); void setTIMSK(void); void toggleLED(char *state); void sleep(unsigned int elapsed_time); SIGNAL(SIG_OVERFLOW0); SIGNAL(SIG_OVERFLOW0) { g_elapsed_time++; TCNT0 = 256 - (CPU_CLOCK / TICKS.. 2009. 7. 6.
RP(Reader Protocol) 2009. 6. 30.
Gen2 2009. 6. 30.
타이머 카운터 (ATmage128) #include #include #define CPU_CLOCK 16000000 // CPU clock = 16,000,000 Hz #define TICKS_PER_SEC 1000 // Ticks per sec = 1,000 #define PRESCALER 64 // Prescaler = 64 (클럭의 배수). void initLED(void); // LED초기화 void setTCCR0(void); // TCCR0 설정 void initTCNT0(void); // TCNT0 초기화 void setTIMSK(void); // TIMSK 설정 void toggleLED(char *state); // LED 반전 void sleep(unsigned int sec); // 1초 대기 SIGNAL(SIG_OVE.. 2009. 6. 30.
반응형