
Designer Reference Manual USB08 Evaluation Board
114 Source Code Files MOTOROLA
Source Code Files
void delayHalfBit() {
// subtract ~20 Clocks for Overhead!
// 120 * 5 Clocks = 600 Clocks
_asm("\
lda #120 \n\
__dhbl:deca \n\
nop \n\
bne __dhbl \n\
");
}
void delayBitTime() {
delayHalfBit();
delayHalfBit();
}
//--------------------- ------------------------ ----------------------- --------
void initSSCI() {
setTxHigh(); // set Output Data Latc h H
enaTxOut(); // enable Output Driver for Tx
enaRxIn(); // R x is an Input Line
}
//--------------------- ------------------------ ----------------------- --------
void putSSCI(char c) {
unsigned char n;
unsigned char ccr_save;
// ccr_save = getCCR(); // save current Interru pt Mask
// disableINTR(); // disable Interrupts
setTxLow(); // send Startbit
delayBitTime();
n=8;
do { // send 8 Databits, LSB first
if((c&1)==0)
setTxLow();
elsesetTxHigh();
delayBitTime();
c >>= 1;
} while(--n);
setTxHigh(); // send Stopbit
delayBitTime();
delayBitTime();
// setCCR(ccr_save); // restore previous Int errupt Mask
}