Доброго дня. С ком портами раньше не разбирался. Подскажите, помогите, кто знает. Хочу организовать печать на матричный принтер (LX300+). Вот код:
BOOL fSuccess;
hCom = CreateFile( "COM1:",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
if (hCom == INVALID_HANDLE_VALUE) {
MessageBox("Error!","Com port couldn't work!");
}
fSuccess = GetCommState(hCom, &dcb);
if (!fSuccess) {MessageBox("Error!");}
dcb.BaudRate = CBR_9600; // set the baud rate
dcb.ByteSize = 8; // data size, xmit, and rcv
dcb.Parity = NOPARITY; // no parity bit
dcb.StopBits = ONESTOPBIT; // one stop bit
fSuccess = SetCommState(hCom, &dcb);
if (!fSuccess) {MessageBox("Error!","SetCommState");}
DWORD recogn=0;
char *my="NNN";
MessageBox(my);
fSuccess = WriteFile(hCom,&my,3,&recogn,NULL);
if (!fSuccess) {MessageBox("Error!","Not Write!!!");}
CloseHandle(hCom);
Принтер пикает, дергается, печатает абракадабру из 4-х символов и все. Причем такая реакция независимо от того какие и символы и сколько посылаю.
Принтер настроен на ком порт, другие настройки соответствуют. Заведомо рабочий (проверялся с чужой программой - печатает).
Рылся в инете, именно по печати через ком - увы, не нашел.
Что не так и где копать?