본문 바로가기
코스웨어/10년 시스템제어

Atmega128 (Zigbee Timer/Counter) & C, Linux (4월 29일/ 26번 지성하)

by 알 수 없는 사용자 2010. 4. 30.
728x90
반응형

1. Atmega128
  - Zigbee LED 1초마다 깜빡거리는 프로그램
    ※ DK128 에서와 달리 Zigbee 에서는 PRESCALER(분주비)를 32로 설정.
       -> 때문에 TCCR0 을 3으로 초기화 하여야 한다.
    ※ CPU_CLOCK 역시 7372800 으로 설정.

          #define CPU_CLOCK 7372800
          #define TICKS_PER_SEC 1000
          #define PRESCALER 32
          #define CS02 2
          #define CS01 1
          #define CS00 
0 
                                           .
                                           .
                                           .
          void setTCCR0(void)
          {
                TCCR0 = 3;
          } 
 

2. C언어
  - 매크로 함수 : C언어에서가 아닌 전처리기 안에서 번역하는 함수.
    1) 형식 : #define 매크로이름(인수) (문자열)

    2) #undef : 정의된 매크로를 해제하는 지시자.

  예제소스) ex1.c

#include <stdio.h>

#define CUBE(x,y) ((x)*(y)) 
      // 매크로 함수. 함수의 인자에 맞게 괄호를 사용하는 것이 포인트.
      // 매크로 함수는 전처리기에서 번역. 

int main()
{
     int A;
     A = CUBE(3,2); 
        // 2+1 을 그대로 올림. 그 결과로 2+1*2+1*2+1 이 연산된다.
        //연산자 우선순위에 의해 괄호를 사용하지 않으면 올바른 결과값이 나오질 않는다. 
                          
     printf("%d", A);

     return 0;
}

  예제소스) ex2.c

#include <stdio.h>

#define NUMBER 200

int main()
{
     printf("%d\n", NUMBER);
     #undef NUMBER
  
     #define NUMBER 100 // 중복정의 
    
printf("%d\n", NUMBER);

     //#ifdef SCA
     //#undef SCA
     //#define SCA 100

     #if SCA < 100
         #undef SCA
         #define SCA 100
     #else
         #undef SCA
         #define SCA 1000
     #endif

     printf("%d\n", SCA);
  
     return 0;
}

3. Linux
  ※ telnet ftz.hackerschool.org

  ※ Hackerschool 각 트레이너 별 패스워드
     trainer2 pw : linuxer
     trainer3 pw : computer
     trainer4 pw : mungguta
     trainer5 pw : goodluck
     trainer6 pw : coffee
     trainer7 pw : to the top
     trainer8 pw : player
     trainer9 pw : programming
     trainer10 pw : best!
 
 
  - 명령어
    1) ls : 현재 디렉토리내의 파일명 및 디렉토리명을 보여줌.
   
    2) pwd : 경로확인
   
    3) cd .. : 상위 디렉토리로 이동
        1. cd / : 최상위 디렉토리로 이동
        2. cd ~ : Home 디렉토리로 이동
   
    4) mkdir, rmdir : 디렉토리의 생성과 삭제
   
    5) w : 로그인 정보
   
    6) finger : 로그인 한 사용자의 정보(w 보다 상세함)
   
    7) tty : 자신의 터미널을 확인
   
    8) ifconfig : 접속한 서버의 ip를 보는 명령어
   
    9) write : 현재 접속한 사용자에게 쪽지를 보냄(write guest /dev/pts/번호)
   
    10) wall test : 접속한 전체 사용자들에게 test 라는 메시지를 전송
   
    11) id : 자신의 정보를 보여줌
   
    12) uname -a : 커널버전을 보여줌
   
    13) rpm -qa : 패키지의 정보를 보여줌
   
    14) cat : 파일의 내용을 보여줌(cat 파일이름)
   
    15) tar : 파일들을 합치거나 해제(tar cvf 파일이름 합치게될파일이름 : 파일합침, tar xvf 파일이름.tar : 합친것을 해제)
   
    16) gzip : 파일압축(gzip 파일이름 : 압축, gzip -d 파일이름 : 압축해제), 확장자 gz
         ※ gzip 은 한번에 하나의 파일만 압축 가능함. 때문에 tar 을 이용해 파일을 합치고 gzip 을 이용하여 파일압축
   
    17) > : 리다이렉션(cat > text.txt), 텍스트 파일 생성
         ※ >> : 기존의 파일은 보호하고 파일내에 새로운 내용을 추가.

    18) 파일을 실행할 땐, 두가지 방법이 있다.
        1. 파일의 경로까지 모두 입력한다.
          -> /home/trainer8/program.exe
        2. '.' 을 이용한다. '.'은 현재 디렉토리를 의미함.
          -> ./program.exe

728x90