분류 전체보기

    2013.06.07_Escape Sequence_

    ▶ Escape SequenceASCII 본래 의미를 벗어나 다른의미를 가지는 값을 Escape Sequence 라고 한다. 예를 들어서 개행문자 '\n' 같은경우 '\' 와 'n' 이 결합된 형태인데,하나의 문자상수로 표현이 가능하다.

    2013.06.07_EEPROM에_직접_읽고/쓰기

    ▶ EEPROM에_직접_읽고/쓰기(1) EEPROM 에는 다이렉트로 직접 접근이 불가하다. 1-1 EEPROM에 쓰고싶은 주소는 EEAR(어드레스 레지스터)에 주소를 입력하고, 이 EEAR 레지는 EEARH(4bit)+EEARL(8bit) = 12bit 를 사용한다. 1-2 EEPROM에 쓰고싶은 데이터는 EEDR(데이터 레지스터)에 입력을 한다. EEPROM 의 범위는 0x0000 ~ 0x0FFF 이고, 각 칸당 1byte 소모한다. 1-3 EEPROM에 Write 가 가능하도록 허용할지 여부를 결정하는 레지스터는 EEMPE로 EEMPE = 1 일때 값이 EEPROM에 입력이된다. ▶ EEPROM.c#include "EEPROM.h" // 첫번째인자는 12byte의 주소를넘겨주어야하므로, int형(16..

    2013.06.05_AVR_ADC동작.

    ATmega2560의 ADC 사용 ADC 설정이다.ADC_Convert 함수앞에 static을 붙여서 다른 소스파일에서 호출을 막았다. ADLAR은 AD변환시 어떻게 저장되는지 설정하는 비트이다. ADLAR = 0ADCH------98ADCL76543210 ADLAR = 1ADCH98765432ADCL10------ 예를 들어 325란 숫자를 저장하면325의 2진수는 0101000101임으로 ADLAR = 0 일 때ADCH------01ADCL01000101저장되고 ADLAR = 1 일 때ADLAR = 1ADCH01010001ADCL01------로 저장된다. REFS는 기준전압 설정으로위 설정으로 AVCC설정이다.즉 AVCC는 5V임으로 5V 일 때 1023이 된다.MUX는 채널설정이다.uiCH라는 변..

    2013.05.31_AVR_Timer/Counter

    ▶ Timer.c#include "Timer.h" static volatile unsigned int ui_Tic; // 0.001초 카운터를 세기위해서. void Timer0_Init(void) { TCCR0A = ((0 ▶ Main.c#include "Lcd.h" #include "Timer.h" int main(void) { Timer0_Init(); DDRA = 0xFF; while(1) { MS_DELAY(1000); PORTA = 0x00; MS_DELAY(1000); PORTA = 0xFF; } while(1) ; return 0; }

    2013.05.30_AVR_한글띄우기_포팅_BSD(퍼온자료_종영이형꺼)

    포팅(porting)이식(移植) 또는 포팅(porting)은 컴퓨터 과학에서 실행 가능한 프로그램이 원래 설계된 바와 다른컴퓨팅 환경(이를테면 CPU, 운영 체제, 서드 파티 라이브러리 등)에서 동작할 수 있도록 하는 과정을 가리킨다.이 용어는 소프트웨어나 하드웨어가 다른 환경에서 사용할 수 있게 변경되는 것에도 해당한다. 소스 하나로여러 플랫폼에서 사용할 수 있는 것을 크로스 플랫폼으로 부른다. BSD(Berkeley Software Distribution)는 1977년 미국 캘리포니아 대학교 버클리(University of California, Berkeley)에서 개발한 유닉스 계열의 컴퓨터 운영 체제이다. NetBSD NetBSD는 BSD 계열의 오픈 소스 운영 체제이다. 64비트 옵테론 서버 같..

    2013.05.30_ARM_LCD에 한글띄우기.

    ▶ Main.c #include "Lcd.h" int main(void) { LCD_Init(); volatile unsigned int iCnt; // 2byte int volatile unsigned int iCnt1; volatile unsigned int i; volatile unsigned int j; unsigned int pName[] = { 0x09, 0x17, 0x15, 0x01, 0x00, 0x02, 0x05, 0x02, // '성' 0x00 0x01, 0x0B, 0x15, 0x0B, 0x05, 0x07, 0x05, 0x07, // '엽' 0x01 0x01, 0x09, 0x15, 0x15, 0x09, 0x01, 0x01, 0x01, // '이' 0x02 0x05, 0x07, 0x02, ..