본문 바로가기
코스웨어/16년 스마트컨트롤러

20160314 송찬호 업무일지 펌웨어

by 알 수 없는 사용자 2016. 3. 21.
728x90
반응형


 

 

상승 레지스터

bit :2진수 자리들

0x69  : EICRA의 주소

 

 

#define DDRA    (*((volatile unsigned char *)0x21))
#define PINA    (*((volatile unsigned char *)0x20))
#define PORTA   (*((volatile unsigned char *)0x22))
#define EICRA   (*((volatile unsigned char *)0x69))
#define EICRB   (*((volatile unsigned char *)0x6A))
#define EIMSK   (*((volatile unsigned char *)0x3D))
#define SREG  (*((volatile unsigned char *)0x5F))

#define INT7 7
#define INT6 6
#define INT5 5
#define INT4 4
#define INT3 3
#define INT2 2
#define INT1 1
#define INT0 0

#define ISC7 6
#define ISC6 4
#define ISC5 2
#define ISC4 0
#define ISC3 6
#define ISC2 4
#define ISC1 2
#define ISC0 0
 

#define sei()   __asm__ __volatile__ ("sei" ::)//asm=어셈블리코드 어셈블리영역으로 7번비트만 1로 만들어라는곳
#define sleep()  __asm__ __volatile__ ( "sleep" "\n\t" :: )


void __vector_1 (void) __attribute__((signal, used, externally_visible));//반환형 void, 인자형 void ,attribute 속성,이함수는 외부에서 호출이가능하다.컴파일러에게 특수한 컴파일러라는기 위해

int main()
{
  
  volatile unsigned int uiCnt;
  volatile unsigned int uiLoop;
  DDRA=0xFF;
  PORTA=0x00;
  uiCnt=1;

  while(1)    
  {  
    PORTA=((uiCnt/10)<<4)|(uiCnt%10);
    for(uiLoop=0; uiLoop<60000; ++uiLoop);
    ++uiCnt;
    if(uiCnt>99)
      {
      uiCnt=0;
    
      }
  
  }

  DDRA=0xFF;
  PORTA=0x00;
  EICRA=(3<<ISC0);//상승 레지스터 =INT0
  EIMSK = (1<<INT0);//인트 0의 문을 열겠다. 추가 방법 (1<<INT 0)(|1<<INT3) 1번문과 3번문을 열겠다.
  SREG =SREG|(1<<7);//| (OR)// sei();와 같다.
  
  while(1)
  {

  }
  return 0;
}
void Init(void)
{
  INT_Init();
  Pont_Init();
}
void Pont_Init(void)
{

}
void INT_Init(void)
{

}

void __vector_1(void)// 
{
   volatile unsigned int uiCnt;

   for(uiCnt = 030000>uiCnt ; ++uiCnt);

  PORTA=~(PORTA);//필드~() 반대기호
  
  

}

 

INT(인터럽트)
인터럽트->함수회로
 회로
회로는 printf()의 printf을 쓸필요는없다.
신호를 걸으면 함수만 초출된다.
7번까지있다.
8개의다리를 만들어 놓고 인터럽트를 걸으면 누가 인터럽트를 걸었는지 찾아야한다.
벡터넘버를 걸어 놓았다.

ping: 도메인 네임를 알아낼수있다.
ping www.duam.net

RLC
전기신호
    교류->AC->220V  전력은=V*i 220*1= 220W/시간 ,주파수 60hz
         
    직류->DC 똑같은 전압을 유지  ,주파수가없다.
LC 주파수 영향

저항 :주파수에 따라 달라진다.


C(케페시터):는 직류가 나오면 차단한다.

직류가 안되는 구간도 케페이터가 있다.

역할
1.차단 2.배터리

직류는 통과하는데 교류는 빠져죽는다.

전압이 없을때 제삼의 상테

제1의 상테 H/L의 상태

728x90