У меня нужно, чтобы панель писала. Сейчас попробывал следующий код:
result=Modbus_COM_Init(COM1,Slave,(unsigned long)9600,NO_PARITY, DATA8, STOP2);
if (result==0)
adv_printf("init OK\n");
else if (result==1)
adv_printf("com already installed\n");
else if (result==2)
adv_printf("error access com\n");
getch();
Set5056(&dov,1,15,ABit); //slot 1
while(1)
{
if(!ADAMRTU_ReadHoldingRegs(COM1,0x01,0x65,0x01,&DataByteCount,HostData))
adv_printf("err code is %d\n", Error_Code());
else
{
adv_printf("status: ");
for(tmpcnt=0;tmpcnt<DataByteCount;tmpcnt++)
adv_printf("%02X", HostData[tmpcnt]);
adv_printf("\n");
Set5056(&dov,1,0,ABit); //slot 1
Set5056(&dov,1,1,ABit); //slot 1
}
}
Результатом выполнения функции Modbus_COM_Init является "Init_OK", а вот функция ADAMRTU_ReadHoldingRegs возвращает "err_code 92". В документации написано, что ошибка с таким номером означает "COM Port Initial or Mode Error".
Не подскажите, с чем это может быть связано?