포럼 회원으로 등록하신분만 다운로드가 가능합니다. 최대 업로드 가능한 용량은 1GB 입니다.

사양 설정을 H/W switch로 해두고, Driver를 만들까 하다가 쉬운 방법을 찾았습니다.
조금 응용하면, Application에서 간단하게 GPIO control하기 쉽습니다.

#include "Pkfuncs.h"
/****************************************/
/* Extract from "mes_cfg.h"                                */
/****************************************/
#define IOCTL_HAL_MES_GPIO        CTL_CODE(FILE_DEVICE_HAL, 4071, METHOD_NEITHER, FILE_ANY_ACCESS)

/****************************************/
/* Extract from "mes_ioctl.h"                        */
/****************************************/
typedef struct kk {
        DWORD                cmd;
        DWORD                arg[16];
} MESIOControl;

#define MES_IOCTL_GPIO_SetOutputValue                0x05
#define MES_IOCTL_GPIO_SetOutputValueBit                0x06
#define MES_IOCTL_GPIO_GetInputValue                0x07
#define MES_IOCTL_GPIO_GetInputValueBit                0x08

extern "C" BYTE Get_DipSW(void)
{
        MESIOControl        InArg, OutArg;
        BYTE         cDipSw;
        InArg.cmd        = MES_IOCTL_GPIO_GetInputValue;
        InArg.arg[0]= 2;        //PORT C
        KernelIoControl(IOCTL_HAL_MES_GPIO,
                &InArg, sizeof(InArg),
                &OutArg, sizeof(OutArg), NULL);
        cDipSw = (BYTE)(OutArg.arg[0] >> 24) & 0x0f;                                        

        WCHAR szTemp[1024] = L"";
        wsprintf(szTemp, L"nDipSw %02x",cDipSw );
        OutputDebugString(szTemp);

        return cDipSw;
}
List of Articles
번호 제목 글쓴이 날짜 조회 수sort

사용자 로그인