Судьба заставила перейти на 51 ядро. Надо организовать прием и передачу данных по UART-у. С передачей все вроде нормально. А вот с приемом - несрослось. Не вызываетсяя прерывание по приему. Вот код.
Код
void UartInit(void)
{
TMOD= 0x20; /* Set M1 for 8-bit autoreload timer */
TH1 = 0xFD; /* Set autoreload value for timer 1 */
TL1 = 0xFD; /* 9600 baud with 11.0592 MHz xtal */
TCON_bit.TR1 = 1; /* Start timer 1 */
SCON_bit.TI=0;
SCON_bit.RI=0;
IEN0_bit.ES=1; //enable RX&TX interupt
IEN0_bit.EA=1;
}
void UARTWriteChar(u08 txData)
{
SBUF=txData;
while(!SCON_bit.TI);
SCON_bit.TI=0;
}
#pragma vector=RI_int
__interrupt void UARTRX( void )
{
if(SCON_bit.RI) //сюда никогда не прподаем :(
{
SCON_bit.RI=0;
LEDBlink();
}
}
void LEDBlink(void)
{
P1=P1^0x1;
}
int main( void )
{
init();
for(;;);
}
Может чего-то недонастроил?