학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

중요함수    1

비주얼 디지털포트 출력

학습목표

비주얼 프로그램에서 디지털포트를 제어한다.

학습주제

다이어로그 박스에서 0~7까지의 슬라이드를 만들고 번호에 따라 지난 주에 연결한 LED On 되도록 프로그램을 완성한다.

예습내용

비주얼 프로그램에서 다이어로그 박스, 스라이드의 작성을 알아 본다.

실습방법

   

1 새로운 프로젝트를 만들기 위해 FileèNew 선택한다.

2. 프로젝트 형태에서 “NI Measurment Studio AppWizard” 선택하고 [Project name] Dout2 [Location] 누르고 해당 디렉토리를 선택한다.

처음

3. 기본값을 선택한다.

[3D Graph] [Advanced Analysis]는 사용을 않하니 제외 시킨다.

처음

4. Dialog based를 선택한다.

5. 다음과 같이 기본값을 설정하고 OK를 누른다.

처음

 

 

 처음

6. 옆의 도움말을 참조해서 필요한 파일과 디렉토리를 포함시킨다.

7. RS232Dlg.cpp “nidaq.h” 추가한다.

8. Dialog Box Slide Control 추가 시킨다.

CWSlide1 마우스 오른쪽 키를 눌러 Properties 선택한다.

처음

ScaleèMaximum 7 하고 ValueèDiscrete 선택한다.

9. CWSlide1 마우스 왼쪽 키를 더블 클릭하고 OK 선택해서 함수를 만든다.

Dout2Dlg.cpp 아래 함수가 생기는 것을 있다.

void CDout2Dlg::OnPointerValueChangedCwslide1(long Pointer, VARIANT FAR* Value)

{

              // TODO: Add your control notification handler code here

             

}

처음

10. BOOL CDout2Dlg::OnInitDialog() 디지털포트를 출력으로 설정한다.

11. 슬라이드에 변수를 지정한다.

메뉴에서 ViewèClassWizard 선택한다.

Class nameèCdout2Dlg 하고 IDC_CWSLIDE1 선택하고 버튼 [Add Variable] 누른다.

처음

name m_Slide 설정하고 [OK] 버튼을 누른다.

12. void CDout2Dlg::OnPointerValueChangedCwslide1(long Pointer, VARIANT FAR* Value) 함수에 슬라이드가 변할 때마다 LED 점등하는 프로그램을 작성한다.

void CDout2Dlg::OnPointerValueChangedCwslide1(long Pointer, VARIANT FAR* Value)

{

              // TODO: Add your control notification handler code here

              UpdateData(TRUE);                             // 에디트창의 값을 가져온다.

              DIG_Out_Prt(1, 0, 0);           

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

                             DIG_Out_Prt(1, 0, 0x00);

              else if(m_Slide.Value == 1)

                             DIG_Out_Prt(1, 0, 0xfe);

        else if(m_Slide.Value == 2)

                             DIG_Out_Prt(1, 0, 0xfd);

              else

                           DIG_Out_Prt(1, 0, 0xff);

              UpdateData(FALSE);                           // 에디트창으로 값을 출력한다.

}

// 8개의 LED 모두 작동하도록 프로그램을 완성 하시오.

처음

   

0 선택하면 모두 꺼지고 1 선택하면 하나씩 차례로 10번을 점등하는 프로그램을 만드시오.

For문을 사용하고 시간지연은 0.5초로 한다.

중요함수

NIDAQDelay(0.5); // 다음 함수는 0.5 지연 시키는 함수이다.