Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

TNT4882

Hello,
 
I have grounded the PAGED pin in the hardware design.
 
I wanted to use the chip in Turbo+7210 mode.
 
I cleard the bit ONES in HSSEL reg.
 
I used the page in command( AUXMR=50h), to access ISR0 reg.
I also cleared bit SISB in AUXRI reg to cause clearing the ISR0 by reading ISR0.
 
AUXMR=0x50;
write(0x0C,0x00); // wtite IMR0
AUXRI=0x84
AUXMR=0x50;
read(0x0C,isr0_reg);
do something
AUXMR=0x50;
read(0x0C,isr0_reg);
Here I suppose to find isr0_reg=0x00
But it hold the previous value from the first read.
 
Anybody knows the reason for reading the same value twice instead of zero in the sencond reading?
Has the page in pin role in it?
 
Thanks
 

Message Edited by Shamsan on 10-31-2006 04:41 PM

0 Kudos
Message 1 of 4
(3,788 Views)
Hi Shamson,

It looks like your questions are being answered in this post.

Thanks!
Regards,
Ebele O.
National Instruments
0 Kudos
Message 2 of 4
(3,739 Views)

Hi All,

Since TNT4882 shares on buffer for input and output. How can I resolve this problem:

X1, X2 are varied length string

1) ibwr(UD, X1)

2) ibwr(UD, X2)

3) ibrd()

Statement 1:  X1 is a command  asking for data, therefore I put the data YZ in FIFOB, but the user didn't use Ibrd() to read it.

Statement 2:  X2 is a command  asking for data. Now an iterrupt occurs and I would read YZ instead of X2.

I was able to overcome this problem when I used NAT7210 because IN and OUT are two different registers.

Thanks

0 Kudos
Message 3 of 4
(3,704 Views)
You should only put data into the FIFO in response to a write when you become addressed to talk. Also, prior to responding you should always reset the FIFOs and counters.
0 Kudos
Message 4 of 4
(3,667 Views)