Hello,
i have got a problem reading an I/O - Pin of my PicoMOD6 in a C# application under Win CE6.0.
i use CreateFile() and ReadFile() which are used via DllImport, but when I do CreateFile i get a "-1" as result.
Here is some code:
Code
- const UInt32 GENERIC_READ = 0x80000000;
- const UInt32 GENERIC_WRITE = 0x40000000;
- const UInt32 OPEN_EXISTING = 3;
- IntPtr hPort_come = CreateFile("DIO1:", GENERIC_READ | GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);
- Byte[] Data = new Byte[1];
- Int32[] Read = new Int32[1];
- uint come_sig = ReadFile(hPort_come, Data, 1, Read, IntPtr.Zero);
According to a PM to fs-support_ZU here are some additional information:
In the registry under HKLM\Drivers\Active\ there is one key with following entrys:
- Hnd = 3499885408
- Name = DIO1:
- Key = Drivers\BuiltIn\DIGITALIO
- BusParent = 3492486400
- InterfaceType = 0
- BusName = BuiltInPhase1_0_0_0
When i try different DIOs then DIO1 i get an invalid handle.
If I use DIO1 then i get a valid handle, but when reading the Pin there is always a "1" as result. Even when connecting pin over 10kOhm to GND.
In the registry under HKLM\Drivers\\BuiltIn\DIGITALIO
is the following:
- DataInit = 16
- DataDir = 16
- Type = 0
- UseAsKey = 0
- IRQCfg0 = 0
- IRQCfg1 = 0
- IRQCfg2 = 0
- UseAsIO = 16715775
- Prefix = DIO
- Dll = PM6_DIGIO.dll
- Order = 151
- Index = 1
- Ioctl = 4
- Port = 1
- FriendyName = Digital I/O driver for PicoMOD6