This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Serial interrupt function in Dallas DS80C400

Dear all,

I have attempted to send a character through serial port 2 in the Dallas DS80C400. However, it seems that the interrupt service routine of serial port 2 does not occur. Could anyone check the following code and point me to the solution? (Note: SCON2 is not bit addressable)

#include <REG400.H> /*special function register declarations*/
#include <stdio.h> /*prototype declarations for I/O functions */


void uart_init (void)
{
T3CM = 0x72;
SCON2 = 0x50;
TH3 = 0xFE;
ES2 = 1; //enable interrupt serial port 2
PS2 = 1; //set priority to interrupt serial port 2
EA = 1; //enable global interrupt
}

void uart_interrupt (void) interrupt 4
{
SCON2 = 0x50; //clear bit TI_2
SBUF2 = 'A'; //transmit 'A' to serial port 2
}

void main(void)
{
uart_init ();
SCON2 = 0x52; //set bit TI_2
while(1)
{
}

}

0