COMI_PG_Start¶
SYNOPSYS¶
double COMI_PG_Start (HANDLE hDevice, int ch, double freq, unsigned int num_pulses)
DESCRIPTION¶
이 함수는 지정한 PG 채널을 통하여 지정한 주파수 및 펄스 수에 의거한 펄스를 출력합니다.
PARAMETER¶
▶ hDevice : 디바이스 핸들값입니다. 이 값은 COMI_LoadDevice() 함수에 의해 얻어진 값이어야 합니다.
▶ ch : PG 채널번호. 채널 번호는 0 부터 시작합니다.
▶ freq : 출력할 펄스의 주파수를 Hz 단위로 지정합니다.
▶ num_pulses : 출력할 펄스의 수를 지정합니다. 만일 이 값을 0 으로 지정하면 COMI_PG-Stop() 함수가 수행되기 전까지 계속해서 펄스를 출력하게 됩니다.
RETURN VALUE¶
출력되는 펄스의 실제 주파수. 펄스의 주파수는 장치 내부에 장착된 타이머의 Base Clock 을 정수로 분주하여 결정하므로 사용자가 지정한 주파수와 약간의 차이가 있을 수 있습니다.
Device¶
지원 디바이스: COMI-SD501
EXAMPLE¶
Pulse Generator 함수 사용 예 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | /*******************************************************
/* [COMIDAS sample program by COMIZOA Inc., Ltd]
/*
/* - Subject : Pulse Generator
/* - Contents : 이 프로그램은 사용자가 지정하는 주파수를 가진 펄스를 사용자가 중단할 때까지
/* 계속하여 발생하는 프로그램 입니다.
/* - Remarks :
/* 1. 이 예제는 COMI-SD501 보드에만 적용가능합니다.
/*******************************************************/
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "comidas.h"
#define FREQ 1000.f /* Pulse freq. = 1 kHz */
#define PG_CH 0 /* Pulse Generator Channel number */
void main()
{
HANDLE hDevice;
double ActFreq;
COMI_LoadDll();
hDevice = COMI_LoadDevice(COMI_SD501, 0); /* Load device */
printf("Generating infinite number of pulses through CH%d\n", PG_CH);
printf("Set Freq. (Hz) = %.0f\n", FREQ);
/* Start pulse generation */
ActFreq = COMI_PG_Start(hDevice, PG_CH, FREQ, 0);
printf("Actual Freq. (Hz) = %.0f\n", ActFreq);
printf("Press any key to exit ! \n");
while(!kbhit())
;
COMI_PG_Stop(hDevice, PG_CH); /* Stop pulse generation */
COMI_UnloadDevice(hDevice);
COMI_UnloadDll();
}
|
EXAMPLE2¶
Pulse Generator 함수 사용 예 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /*******************************************************
/* [COMIDAS sample program by COMIZOA Inc., Ltd]
/*
/* - Subject : Pulse Generator
/* - Contents : 이 프로그램은 사용자가 지정하는 주파수의 펄스를 발생시킵니다.
/* 단, 이프로그램에서는 펄스의 수를 NBR_PULSES 값에 의해 제한합니다.
/* - Remarks :
/* 1. 이 예제는 COMI-SD501 보드에만 적용가능합니다.
/*******************************************************/
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "comidas.h"
#define FREQ 1000.f /* Pulse freq. = 1 kHz */
#define NBR_PULSES 1000 /* 0 => Infinite number of pulses */
/* Others => The number of pulses to generate */
#define PG_CH 0 /* Pulse Generator Channel number */
void main()
{
HANDLE hDevice;
double ActFreq;
COMI_LoadDll();
hDevice = COMI_LoadDevice(COMI_SD501, 0); /* Load device */
printf("Generating pulses through CH%d\n", PG_CH);
printf("Set Freq.(Hz) = %.0f\n", FREQ);
if(NBR_PULSES == 0)
printf("Num pulses = Infinite\n");
else
printf("Num pulses = %d\n", NBR_PULSES);
/* Start pulse generation */
ActFreq = COMI_PG_Start(hDevice, PG_CH, FREQ, NBR_PULSES);
printf("Actual Freq. (Hz) = %.0f\n\n", ActFreq);
while(!kbhit()){
/* Check if generation is completed */
if(!COMI_PG_IsActive(hDevice, PG_CH))
break;
}
printf("Pulse generation is completed!\n");
printf("Press any key to exit!\n");
getch();
COMI_PG_Stop(hDevice, PG_CH); /* Stop pulse generation */
COMI_UnloadDevice(hDevice);
COMI_UnloadDll();
}
|