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

C/C++ Q/A
[583] Re:다시 질문합니다.
김인구.구야 [whileone] 1990 읽음    2002-05-08 03:02
책에 bioscom()함수 대신에 BIOS를 직접 제어하는 함수가 있어서 올립니다.

void port_init(int port, unsigned char code)
{
    union REGS r;

    r.x.dx = port;
    r.h.ah = 0;
    r.h.al = code;
    int86(0x14, &r, &r);
}

AL 레지스터에 들어가는 한 바이트 코드(code)
비트 번호 : 7 6 5 4 3 2 1 0

보우(7,6,5번 비트사용)
패리티 비트(4,3번 비트사용)
스톱 비트(2번 비트사용)
데이터 비트(1,0번 비트사용)

보우(비트패턴)
9600(111), 4800(110), 2400(101), 1200(100),
600(011), 300(010), 150(001), 110(000)

패리티(비트패턴)
패리티 없음(00 or 10), 홀수(01), 짝수(11)

스톱(비트패턴)
2개(1), 1개(0)

데이터 비트(비트패턴)
7개(10), 8개(11)

이것도 안되면 그냥 어셈블리로 하면 어떨런지요...
검증된건 아니구요 그냥 원초적으로 접근하면 되지 않을까해서요.
void port_init(int port, unsigned char code)
{
    _asm {
        mov dx, port
        mov ah, 0h
        mov al, code   
       int 14h
    }
}

박주식 님이 쓰신 글 :
: 전번에 질문했는데 답장이 없어서요
: 음. 그러니깐
: 도스형으로 BC로 232 통신프로그램을 만들었는데요
: 이것을 그대로 window환경에서 실행하니까 정보가 받아지지를 않네요
:
: 다시말해 도스로 부팅해서 하면 되고 윈도우에서 실행화일을 하면 안되고
: 왜그러는지 솟 시원히 알려주시면 감사하겠습니다.  꾸벅
: BC에서 bioscom()으로 하였구요. 도스로 구성한 통신부분입니다.
:
: #define COM1         1
: #define B9600        0xE0
: #define DATA8        0x03
: #define STOP1        0x00
: #define NOP          0x00
: #define LSR          0x2fd
: #define RBR          0x2f8
: #define THR          0x2f8
:
: main()   {
: unsigned char y;
: int i,op,yy,pp,jj1;
:
: bioscom(0,B9600 | DATA8 | STOP1 | NOP, COM1 );
: while(kbhit()==0)  {
:     if (comIsDataReady()) { y=comDataIn();       yy=y;  ............. }
: }
: }   
:
: int comIsDataReady()
: {   return(inportb(LSR) & 0x01);   }
:
: char comDataIn()
: {       return(inportb(RBR));   }
:

+ -

관련 글 리스트
570 다시 질문합니다. 박주식 1764 2002/05/07
583     Re:다시 질문합니다. 김인구.구야 1990 2002/05/08
574     Re:다시 질문합니다. 남병철.레조 1899 2002/05/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.