ps в коде
disable_IRQ(); // "???"
if (u1TxSt == TX_NO_DATA) {
lw = u1TxRdPtr;
U1THR = u1TxBuf[lw];
if (++lw >= TX_BUF_SZ) {
lw = 0;
}
u1TxRdPtr = lw;
}
enable_IRQ(); // "???"
конечно же косяк, если убрать строчки "???" то
U1THR должен инициализироваться в самом конце
короче вобщем, работающая ли приведенная в корневом посте идеология
или возвожны косяки