Digital I/O

Showing results for 
Search instead for 
Did you mean: 

NI-6503 Mode 0 Digital Input on interrupt

I can't find anything in the help documentation on how to do digital input with an NI-6053 upon interrupt.
I'd like to do Mode 0 input on port 0 when an interrupt is received on the PC3 pin.
Can anyone provide me with the details of this?
0 Kudos
Message 1 of 5

Hi H20,

There is an example for Mode 0 Basic I/O on page B-16 of the user manual for the NI-6503 You can use this as a starting point. The examples show you how to configure the ports as input or output. The example code for Mode 1 demonstrates how to configure and access the Interrupt pin on PortC. According to the manual, in order to use the Interrupt pin you will need handshaking which is only available in Mode 1 not Mode 0.  Therefore I don't think you will be able to do digital input in Mode 0 based on an Interrupt. You can reference the example code on page B-22 if you decide to switch to Mode 1.

I hope this helps.


Message 2 of 5
Thank you for this information, but no it did not help.
Page 31 of Appendix B (I do have the document you refer to, and have used it) says:

You can use external signals to generate interrupts when port A or port B is in mode 0 and the

low nibble of port C is configured for input. If port A is in mode 0, use PC3 to generate an

interrupt; if port B is in mode 0, use PC0 to generate an interrupt. After you have configured

the selected 82C55A, you must set the corresponding interrupt enable bit in Interrupt Control

Register 1. If you are using PC3, set

xIRQ0; if you are using PC0, set xIRQ1, where x is the

letter corresponding to the PPI you want to generate interrupts (A–D). When the external

signal becomes logic high, an interrupt request occurs. To disable the external interrupt, the

interrupt service routine that you have written should acknowledge the interrupt. On the

PCI-DIO-96 and PXI-6508, the interrupt service routine should also write the interrupt clear



But this is all moot Natasa, as it pertains to register level programming.  Are you telling me that I need to program the 6503 at register level - e.g. write my own Windows driver- to do this simple job?

It may be so, but I would like to have this verified.

In all of NI-DAQmx, that massive API interface, there is no method to do this?  Not that I have found, although I did meet in person with Jared McInelly (Account Manager - Field Engineer | | 253.351.6078) who told me Mode 0 would be best and that NI-DAQmx supported doing this.

I have a pulse arriving once a second that I want to time tag with the processor clock.  All I need to do is get an interrupt for this TTY signal when it arrives.  Would you recommend another approach?

0 Kudos
Message 3 of 5

I apologize for the miscommunication, but with the 6503 you can only do register level programming if you want to use Mode 0 or 1. In order to use interrupts with DAQmx the daq card needs to support change detection which the 6503 does not. The 6533 and 6534 do support this feature.

If you need more help with the register level programming of the 6503, you can post your questions on the DDK forum.


0 Kudos
Message 4 of 5

Thanks Natasa.  I will consider what to do next.


0 Kudos
Message 5 of 5