LPC 213x Keil RV,
проблема, выставил прерывание на UART, пишу по RX, отсылаю по THRE
void Uart0_irq (void) __irq { if (!((U0IIR&IIR_THRE))) { if (U0LSR & LSR_RX) { AMI1.CApuLibAMI::Get2Buf(); } } else{ AMI1.Write_from_bufer(); }
VICVectAddr = NULL_REG; //Dummy write to signal end of interrupt
};
пишу в Uart -
U8 CApuLibUART0::putchar(U8 ch) // ïåðåäàòü ñèìâîë â ïåðåäàþùèé áóôåð { while (!(U0LSR & LSR_THRE)); return (U0THR = ch); }
вопрос, почему putchar(0x00) - не работает
putchar(0x01) - работает на ура?
если убрать else{ AMI1.Write_from_bufer(); }
да, #define LSR_RX 0x01 // RX #define LSR_THRE 0x20 // THRE
то 0x00 в порт пишутся, но пререывание - на запись не работает ((( Помогите новичку
Сообщение отредактировал Spb_Alex - Nov 28 2007, 08:29
|