初めて vxWorks lptDrv ドライバーを使用してパラレル ポートに書き込もうとしていますが、write() を呼び出すと常に -1 が返されるようです。私が使用しているコードは次のとおりです。
#define PARALLEL_PORT "/lpt/0"
/* Create a device for the parallel port */
lptDevCreate(PARALLEL_PORT,0)
/*open the parallel port*/
parallelPortFD = open(PARALLEL_PORT, O_CREAT|O_WRONLY, 0))
LOCAL UINT32 watchdogBit = 0x01;
if (write(parallelPortFD, (char*) watchdogBit, sizeof(UINT32)) == -1)
{
/* Always hits this block */
}
lptDevCreate と open の呼び出しはどちらも正常に戻ります。現在、ハードウェアをパラレル ポートに接続していないため、テストが難しくなっていますが、それによって書き込みが失敗することもないと思います。
詳細については、lptShow() を呼び出すことができましたが、何を見ているのかわかりません。
controlReg = 0xff
statusReg = 0xff
created = TRUE
autofeed = TRUE
inservice = FALSE
normalInt = 0
defaultInt = 0
retryCnt = 1
busyWait (loop) = 10000
strobeWait (loop) = 10000
timeout (sec) = 1
intLevel (IRQ) = 7