CAFE

한국직업능력교육원

[Arduino 실습 24] Bit 방식 Key RD

작성자송명규|작성시간26.06.12|조회수15 목록 댓글 0

void loop() {

  // put your main code here, to run repeatedly:

  key = bit_key_rd();

  if(fg -> key_flag == 1) key_chk();

  fnd_led_dis(ct -> cnt16, map(ct -> cnt16, 1234, 2000, 0, 255));

 

}

 

//------------------------------------------------------------

#ifndef __KEY__

#define __KEY__

 

#define sw1 2  // mode

#define sw2 3  // run/stop

#define sw3 17 // up /dn

 

char bit_key_rd()

{

  uint8_t buf = 0;

 

  if(d_in(sw1) == 0) buf = 1;

  else if(d_in(sw2) == 0) buf = 2;

  else if(d_in(sw3) == 0) buf = 3;

 

  while(d_in(sw1) == 0 || d_in(sw2) == 0 || d_in(sw3) == 0)

  {

    fnd_led_dis(ct -> cnt16, map(ct -> cnt16, 1234, 2000, 0, 255));

 

  }

 

  fg -> key_flag = (buf != 0) ?  1 : 0;

  return buf;

}

 

char byte_key_rd()

{

  uint8_t buf = 0;



  fg -> key_flag = (buf != 0) ?  1 : 0;

  return buf;

}

 

void key_chk()

{

  fg -> key_flag = 0;

 

  switch(key)

  {

    case 1:

           //mode  

           //mode_cnt++;

           Serial.println("mode");

           break;

   

    case 2:  ct -> cnt16++;  break;

    case 3: ct -> cnt16--;  break;

  }

}





#endif

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼