Есть робот
SES. Какждое звено может управляться отдельно по RS-232, команды есть в
мануале к плате SSC-32.
Из проги COM Port Toolkit команды отлично уходят и исполняются манипулятором (при условии, что допольнительно после отправки стринговой команды, прога выполняет макрос посылки символа конца строки CR).
Мне нужно написать на билдере свой софт, который мог бы кидать команды на com-порт.
Перерыл гугл, немного разобрался, но в итоге данные не приходят на уплавляющую плату.
- Код: Выделить всё • Развернуть
HANDLE hCOM;
DCB dcb;
hCOM=CreateFile("COM1",GENERIC_WRITE,0,NULL,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,NULL);
dcb.BaudRate = CBR_115200; // set the baud rate
dcb.ByteSize = 8; // data size, xmit, and rcv
dcb.Parity = NOPARITY; // no parity bit
dcb.StopBits = ONESTOPBIT; // one stop bit
if (hCOM!=INVALID_HANDLE_VALUE)
ShowMessage("Порт успешно открыт"); // открыть порт получается
else ShowMessage("Не удалось открыть порт!");
char buffer[30];
memset(buffer, 0, sizeof(buffer));
strcpy(buffer, "#0 P300"+0x0D); // так ведь правильно добавлять символ CR?
DWORD nb;
OVERLAPPED ov;
WriteFile(hCOM,buffer,sizeof(buffer),&nb,&ov); // плата не видит вообще никаких входных данных, не мигает
// если кидать любые, даже некорректные данные
// из COM Port Toolkit, то светодиод на плате мигает
CloseHandle(hCOM);
помогите сделать код рабочим
Модератор Digit:Для вставки кода есть тег [ CODE ] (см. кнопочку над окном ввода).
Последний раз редактировалось
mica 11 авг 2009, 15:57, всего редактировалось 1 раз.