학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

중요함수    1

노브와 버튼 제어

학습목표

노브와 버튼의 사용법을 익히고 활용한다.

학습주제

 

노브의 선택에 따라 해당 LED(버튼) ON 되도록 한다.

 

예습내용

노브와 버튼의 Properies 설정방법

실습방법

   

1.       Project Name 주고 1주와 동일한 방법으로 프로젝트를 만든다. 여기서는 프로젝트 이름을 Step2 한다.

2.       도구상자에서 Knob Control 선택하여 다이어로그 박스에 놓는다.

마우스 오른쪽 버튼을 눌러 Property 선택하면 IDIDC_CWKNOB1 되어 있다.

처음

CWKnob1 마우스 오른쪽 버튼을 선택 하여 Poperties->Numeric->Vlaue 에서 Discrete 선택한다.

3.       도구상자에서 Button Control 선택하여 다이어로그 박스에 놓는다.

오른쪽 그림과 같이 된다.

 

 

처음

4.       CWBoolian1 마우스 오른쪽 버튼으로 선택하여   선택한다.

그리고 메뉴 General -> Caption LED1으로 한다.

 

같은 방법으로 모두 3개를 만들고 Caption LED2, LED3, LED4 놓는다.

처음

5. View->ClassWizard 선택한다.

[Add Veriale…] 선택하여 4개의 LED 변수를 아래 그림과 같이 선언한다.

 

6.       Cwknob1 마우스 오른쪽 버튼을 2 크릭하여 실행 함수를 만든다.

 

 

7. 다음 프로그램은 LED1,2 Cwknob1에서 선택하면 ON 되게 하였다.

 

예제1

 

void CStep2Dlg::OnPointerValueChangedCwknob1(long Pointer, VARIANT FAR* Value)

{

              // TODO: Add your control notification handler code here

              m_led1.Value = 0;                         // LED 모두 OFF 시킨다.

              m_led2.Value = 0;

              if(m_knob.Value == 1)                   // 해당 선택 LED ON 되게 한다.

                             m_led1.Value = 1;

              else if(m_knob.Value == 2)

                             m_led2.Value = 1;

}

처음

   

과제1 : LED3,4 동작하게 프로그램을 완성하시오.

과제2 : 다음 프로그램을 추가하시오.

              Cwknob1=5: LED1,2,3,4 ON

              Cwknob1=6: LED1,3 ON

Cwknob1=7: LED2,4 ON

AVR 통신 프로그램

과제3 : 아래는 Led 2 동작하도록 프로그램한 것이다. 4개가 모두 동작하도록 프로그램 하시오.

C언어 첫페이지의 RS232 기본 프로그램을 내려받아 위의 노브와 Led 추가한다.

[PC통신프로그램 내려받기]

 

예제2     예제1 프로그램에 송신 프로그램을 추가하였다.

 

void CRs232Dlg::OnPointerValueChangedCwknob1(long Pointer, VARIANT FAR* Value)

{

              // TODO: Add your control notification handler code here

              unsigned char buff[5]="";

              m_led1.Value = 0;                         // LED 모두 OFF 시킨다.             

              m_led2.Value = 0; 

              if(m_knob.Value == 1) {                 // 해당 선택 LED ON 되게 한다.                       

                                                          m_led1.Value = 1;

                             buff[0]=0x01;

                             m_ComuPort.WriteComm((unsigned char*)buff,1);

              }

              else if(m_knob.Value == 2) {               

                             m_led2.Value = 1;

                             buff[0]=0x02;

                             m_ComuPort.WriteComm((unsigned char*)buff,1);

              }

}

 

중요함수