C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[20993] [참고] Re:[도움 요청이요!!] 빌더로 DIOCard 제어하는 프로그램 해보신분 있으시면...(급해요..
EmptySpear [] 743 읽음    2002-08-24 11:06
안녕하세요..

DIO카드 회사에서 라이브러리 제공한 걸 사용하시거나

NT계열 이하의 OS에서는 직접 포트를 Read/Write해도 상관 없습니다.

보통 BaseAddress를 지정해주고 그곳에서 offset 위치 떨어진

특정포트에 읽기 전용, 또는 쓰기 전용으로 포트 속성을 지정한 후

(보통 위 작업을 하는 컨트롤 포트가 따로 있습니다.
단, 특정 카드는 읽기 /쓰기 포트가 고정된 것도 있지요)

아래 함수를 이용해서 직접 입출력 하시면 될껍니다.

읽을값은 비트단위로 각기 채널에 따라 분리 해야 겠고..

쓰기하실때는 기존 포트값을 읽은 후 쓸 비트(채널)값과 OR한 후

Write해야되는 것두 잊지 마시구여.

(단, 특정카드는 출력포트를 되읽지 못하는 경우도 있으므로
포트 출력값을 변수에 저장해서 유지하는 방법도 간구해야 겠지요)

void outportb(WORD port, BYTE value)
{
  __emit__(0x8b, 0x95, &port);     // mov edxl, *(&port);
  __emit__(0x8a, 0x85, &value);    // mov al, *(&value);
  __emit__(0x66, 0xee);            // out dx, al;
}

void outportw(WORD port, WORD value)
{
  __emit__(0x8b, 0x95, &port);        // mov edx, *(&port);
  __emit__(0x66, 0x8b, 0x85, &value); // mov ax, *(&value);
  __emit__(0xef);                     // out dx, ax;
}

BYTE inportb(WORD port)
{
  BYTE value;

  __emit__(0x8b, 0x95, &port);   // mov edx, *(&port);
  __emit__(0x66, 0xec);          // in al, dx;
  __emit__(0x88, 0x85, &value);  // mov *(&value), al;

  return value;
}

WORD inportw(WORD port)
{
  WORD value;

  __emit__(0x8b, 0x95, &port);         // mov edx, *(&port);
  __emit__(0xed);                     // in ax, dx;
  __emit__(0x66, 0x89, 0x85, &value);  // mov *(&value), ax;

  return value;
}

+ -

관련 글 리스트
20990 [도움 요청이요!!] 빌더로 DIOCard 제어하는 프로그램 해보신분 있으시면...(급해요..) 박보연 628 2002/08/24
21008     Re:[도움 요청이요!!] 빌더로 DIOCard 제어하는 프로그램 해보신분 있으시면...(급해요..) 정재훈 693 2002/08/26
20993     [참고] Re:[도움 요청이요!!] 빌더로 DIOCard 제어하는 프로그램 해보신분 있으시면...(급해요.. EmptySpear 743 2002/08/24
20992     Re:[도움 요청이요!!] 빌더로 DIOCard 제어하는 프로그램 해보신분 있으시면...(급해요..) 조준회 658 2002/08/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.