
16-ch Counter/Frequency Board
with 32-ch Programmable DIO
User Manual, Ver. 1.2, Apr. 2017, PMH-030-12 Page 35
6.4.3
Write/Read Data
(Write) wBas0x40
Select
channel 0 to 7
(Write) wBas0x40
Select channel 8 to 15
Bit
F
E
D
C
B
A
9
8
7
6
5
4
3
2
1
0
Data
x
x
x
x
X
x
x
X
D7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
(Write) wBas0x44
Latch
channel 0 to 7
(Write) wBas0x44
Latch channel 8 to 15
Bit
F
E
D
C
B
A
9
8
7
6
5
4
3
2
1
0
Data
x
x
x
x
x
x
x
X
D7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
(Read) wBas0x40/0x44/0x48/0x4C
Read Data (channel 0 to 7)
(Read) wBas0x40/0x44/0x48/0x4C
Read Data (channel 8 to 15)
Bit
F
E
D
C
B
A
9
8
7
6
5
4
3
2
1
0
Data
x
x
x
x
x
x
x
X
D7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
This register is used to get the value for frequency/counter channel.
For Example:
outw(wBase+0x40,0x08|(wChannel%8));
//Select Channel
outw(wBase+0x44,0x00|(wChannel%8));
//Latch Channel
A = inpw(wBase+0x40);
//Get the count value (bit 0 ~7)
B = inpw(wBase+0x44);
//Get the count value (bit 8 ~15)
C = inpw(wBase+0x48);
//Get the count value (bit 16 ~ 23)
D = inpw(wBase+0x4C);
//Get the count value (bit 24 ~ 31)
Value = (D<<24)|(C<<16)|(B<<8)|A
// Get the 32-bit count value