|
프린트 제어는 프린터 레지스터에 (3개 정도됨) 데이타를 기록하는게 전부 인것 같더군요
제가 인터넷 사이트를 검색하여 알아낸 사이트중 가장 쉽게 설명한 곳은 정동우님이 강의한 사이트인데
아주 쉽게 세세하게 설명을 했더군요.
이사이트를 중심으로 공부하시면 단순 데이타 출력은 가능할걸로 생각합니다.
제가 지금 찾아 보니 안 잧아지네요
에러를 전제로 잠시 강의 합니다.
프린터는 데이타 레지스터, 제어 레지스터, 상태 레지스터 세가지 레지스터가 있습니다.
데이타 레지스터는 일반적인 데이타 출력에 사용되고
상태 레지스터 는 busy, done, nopaper ....등의 프리터상태를 입력받습니다.
제어 레지스터는 용도를 모르겠군요 어렴풋한 기억으로는 출력하는 비트의 의미가 제어를 위해 사용할뿐 데이타 레지스터와 동일 했습니다.
데이타 레지스터의 번지는 0x378인지 잘몰겠군요. CMOS(컴퓨터 켤때 del키 누르면 나타나는 화면)나온다고 하니 알아 보시기 바랍니다. 아니면 웬만한 고급 프로그래머는 다 알고 있습니다.
나머지 레지스터의 번지는 데이타 레지스터를 기준으로 1씩 증가되는 값을 가지고 있습니다. 그순서는 잘모르지만
만일 데이타 레지스터가 100번지라면 101 102 이런씩으로 번지가 할당됩니다.
컴퓨터 뒷면에 보면 핀이 있는 2번부터 8개가 데이타 레지스터에 연결되어 있습니다.
컴퓨터 프린터 핀 사양서를 보시면 될겁니다. (역시 인터넷을 검색하세요)
추가로 프린터로 제어하는 하드웨어를 사용하신다면 하드웨어 제공 업체에 문의 하시는게 쉽고 빠를거라 생각합니다.
그리고 윈도우는 프린터의 직접 접근을 허용하지 않는다고 하더군요.
프린터 제어의 경우는 아무리 엉성한 사이트라도 5개의 사이트에서 얻은 정보를 요약한다면 에러 없이 프로그램 할수 있을거라 생각합니다.
그리고 상태 레지터와 제어레지터도 똑같은 방법으로 제어하는것으로 알고 있습니다. 제가 실력이 없어 여기 까지 못가
르쳐드립니다. 더이상의 질문은 무의미 할걸로 압니다.
그럼
김광수 님이 쓰신 글 :
: 제가 지금 프린트를 직접 제어를 할려고 합니다..
: 관련 자료를 찾고 있으나 제 검색 능력의 부족으로 찾지를 못하고 있습니다.
:
: 제가 하려고 하는것은 edit 에서 데이타를 읽어서
:
: 폰트 및 사이즈 .. 등을 체크 하여 프린터로 직접 보내는것입니다.
:
: TPrinter 를 사용 하지 않고 직접 데이타를 구성 하는것입니다.
:
: 즉. 1이라는 숫자를 인쇄 할때
:
: 프린터로 날라 가는 프로토콜을 찍어 보았더니.
:
: 3C 52 41 5A 3E
: 3C 49 4D 47 4E 52 2C 35 36 30 2C 32 33 2C 30 2C 32 2C 33 30 3E
:
: 7FFF 07F0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0
: 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01C0 01FF 01F8 01C0 0100
:
: 3C 49 4D 50 2C 31 3E
: 3C 53 54 3E
:
: 이런식으로 날라 가던데 이렇게 폰트와 사이즈를 이용 하여 데이타를 만드는 법을 알고 싶습니다.
:
: 많은 조언 부탁 드립니다.
|