用VC編寫的程序無(wú)法讀取CH365,但是采用debug365軟件可以,證明硬件沒(méi)有問(wèn)題。可是VC程序確實(shí)使用公司提供的dll動(dòng)態(tài)鏈接庫(kù)。每次運(yùn)行后,機(jī)器就出問(wèn)題,現(xiàn)在VC軟件都出問(wèn)題了,這是怎么回事?請(qǐng)高手賜教!
您程序是怎么獲取的CH365IO基址的?
我采用提供的函數(shù)獲取的基址。
調(diào)用動(dòng)態(tài)連接庫(kù)進(jìn)行讀寫操作還用獲取基址嗎?
就是例子程序使用的方法
基本流程序如下:
mPCH365_IO_REG mIoBase; // I/O基址.PCH365_IO_REG是我們?cè)贑H365DLL.里的定義的一個(gè)CH365的結(jié)構(gòu) //打開(kāi)設(shè)備 CH365mOpendevice(設(shè)備序號(hào)); //獲取基址 CH365mGetIoBaseAddr(設(shè)備序號(hào),&mIoBase ) //這邊一定要是傳遞的是指針變量的地址 //從IO端口讀數(shù)據(jù) CH365mReadIoByte(Device_Number, &mIoBase -> mCh365IoPort, &mByte ) ...... //最后關(guān)閉設(shè)備 CH365mcloseDevice(設(shè)備序號(hào)); 具體的例子,您可以從網(wǎng)上下載例程:CH365EVT.zip\pub\win_sw\demo365.c文件,
謝謝大俠!
我用debug365軟件可以讀寫設(shè)備,但是自己按5樓的提示編了程序以后, 在CH365mOpendevice(Index)(Index為設(shè)備號(hào))函數(shù)返回“INVALID_HANDLE_VALUE”,這是怎么回事呢?
如果程序有問(wèn)題的話就發(fā)那段程序到郵箱里。