We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi This question is about serial interrupts on the 8051 based extended memory chip (P87C51Mx2). The transmit interrupt TI_0 is supposed to be set when a character is written to S0BUF. This is not happening. My initialization settings are as follows (I'm initializing both the UART channels)
T2CON = 0x30; RCAP2H = 0xFF; // BAUD for UART0 - 9600 RCAP2L = 0xB8; S0CON = 0x50; S1CON = 0x50; TXD = 1; RXD = 1; TXD1 = 1; RXD1 = 1; ES0 = 1; ES1 = 1; S0STAT = 0x00; S1STAT = 0x00; TR2 = 1; BRGCON = 0x00; //UART1 baud - 38400 BRGR1 = 0x01; BRGR0 = 0x10; BRGCON = 0x01;
My mistake! My application was also generating a timer0 interrupt for which I had deleted the handler by mistake. Since timer 0 interrupts have a higher priority than serial interrupts, my application was failing. Thanks for the trouble. -Sundeep P.S : The simulator works fine for both the UARTS.