|
Не могу запустить передачу по прерываниям - передает только одно сообщение.
И еще...Закоментированная строчка. Странно, но при входе в прерывание по передаче флаг готовности передачи уже сброшен. В даташит не так написано.
void SSS(char *c) // старт передачи
{ char i;
char *t;
t=tx_buf;
for (i=0; i{ if (*c) {*t=*c;; t++; c++;}
else break;}
tx_ind=0;
IE1 |= UTXIE0;
}
#pragma vector=USART0TX_VECTOR
__interrupt void usart0_tx (void)
{ char d;
// if (IFG1 & UTXIFG0) //ready to transmit
{ d=tx_buf[tx_ind];
if (d)
{ TXBUF0 = d;
tx_ind++;
if (tx_ind==TxBufSize) IE1&=~UTXIE0;
}
else IE1&=~UTXIE0;
}
}
E-mail: info@telesys.ru