Reading a 16 bit Register
Greetings all... (I'm using Borland Turbo C/C++ 3.0)
I am using an ADC board (See Getting Started Sheet) attached to an SBC running DOS 6.2. There is only a sparse and seemingly rough documentation for the ADC. The board has a FIFO for reading the 24 channels. When I read from address BASE+0x0A (ADCFIFO), and then the internal pointers should advance to the next channel from the FIFO (Each address is actually 16-bit. I'm using inport(ADC_FIFO_REG) to read the data from the ADC. However, for some reason, the FIFO pointer actually moves 2 channels instead of 1. If I use inportb(ADC_FIFO_REG) (and therefore only get the LSB) the internal pointer only moves one channel. So I tried reading each byte of the FIFO in turn (I tried in both possible orders) which, again, caused the FIFO to advance 2 channels.
Is there another function or method I could use to read these registers? I have a feeling that there is an issue with the board itself, but then it could just be that I feel that way because of the pretty crappy state of the "manual" that they have for this board.
Any suggestions are welcome. I will post the full code if necessary.
Thanks,
Lee