다시한번 보내주셨던 사진을 보니
1. 혹시 프린터를 RS232 포트에 연결하신건지요?
처음 주의사항 문의에 답변드린대로, ATMega128 사용제어보드에 사용은 가능하지만,
본 제품은 5V IO통신을 하는 제품이며 5V통신 UART 핀에 연결해주셔야합니다.
보통 RS232 포트는 +12 ~ -12V 로 작동되는 것이어서 본제품과 통신이 안될뿐 아니라 연결시 제품이 파손될수 있습니다.
2. 소스코드
공개된 소스코드는 아두이노 UNO 표준 보드와 아두이노 개발환경용입니다.
다른 칩(ATMega128)을 사용하는 제어보드의 경우 해당 환경에 맡도록 소스코드를 따로 구현해 주셔야 합니다.
가령 Atmega128칩과 아두이노에 포함된 ATmega328칩은 참고로 시리얼포트 통신속도 설정방식(레지스터 명이나 값)이 다릅니다. 통신속도가 맞다면, 단순한 영문자 전송 및 인쇄하는것은 char 코드만 전송하면 되므로 어렵지 않습니다.
본 제품정보페이지에 링크된 공개 소스나 연결방법이 모두 표준 아두이노 보드를 이용하는경우로 가정한 정보이므로,
다른 제품을 통한 사용법은 따로 도움을 드리지 못하는점 양해부탁드립니다.
보통 ATmega128 제어보드를 사용하시는 분들도,
UART 통신에 대해 적절한 공부를 하신경우라면 큰 어려움 없이 사용 가능할것 같습니다.
아무래도 사용하시는 보드의 기본 사용법(특히 UART통신)을 충분히 익히신후 다시 시도해보시면 될것 같습니다.
---------- Original Message ----------
답변 감사합니다.
제품은 구매하고 작동이 되지 않으니, 마음이
답답합니다.
도와주십시요~
손박닥 프린터 사용기에서 말하는 소스코드가 첨부된 자료가 맞는지요?
1) NewSoftSerial.h
NewSoftSerial.cpp ThermalPrint_Example.c
2. 상기 사용한 프로그램 이외 다른 프로그램 사용하신 것은 없는지요?
3. ThermalPrint_Example.c 에서 보면 통신속도에 대한 setting 은 19200으로 되어 있습니다
이것 이외에 다른 것은 setting 하는 것은 없는지요?
4. ThermalPrint_Example.c 에서 보면
1) 프린터 초기화는 아래와 같습니다.
Thermal.print(27, BYTE);
Thermal.print(55, BYTE);
Thermal.print(7, BYTE); //Default 64 dots = 8*('7'+1)
Thermal.print(heatTime, BYTE); //Default 80 or 800us
Thermal.print(heatInterval, BYTE); //Default 2 or 20us
//Modify the print density and timeout
Thermal.print(18, BYTE);
Thermal.print(35, BYTE);
int printSetting = (printDensity<<4) | printBreakTime;
Thermal.print(printSetting, BYTE); //Combination of printDensity and
printBreakTime
2) option == ‘1’ 인 경우 출력은 아래와
같습니다.
if(option ==
'1') {
Thermal.println("Hello
World!");
Thermal.println("12345678901234567890123456789012");
Thermal.print(10,
BYTE); //Sends the LF to the printer, advances the paper
Thermal.print(10, BYTE);
}
3) 만약 제가 SoftwareSerial을 사용하지 않고, Hardware에 있는 RS-232C port를 사용한다면
상기
4-1)과 2) 내용만 사용하는 것으로 생각됩니다.
즉
RS-232C port에 27, 55, 7, heattime(255),
heatInterval(255), 18,35, printSetting(255)을
순서대로 보내 주면
thermal print 가 초기화 되고
(실제로 최기화 완료 여부는 paper feeding button을 누르면 종이가 올라 감)
“Hello
World!" 와
"12345678901234567890123456789012" 을 보내면
thermal print에 글씨가
써져야 한다고 생각합니다.
4) 상기 3)번에 제가 잘 못 생각하는 부분이 있는지요?
댓글목록
등록된 댓글이 없습니다.
회원에게만 댓글 작성 권한이 있습니다.