3 #pragma section CODE=IRAM,attr=CODE
7 // Initialize UART asynchronous mode
8 BGR04 = 416; // 38400 Baud @ 16MHz
10 SMR04 = 0x0d; // enable SOT3, Reset, normal mode
11 SSR04 = 0x00; // LSB first
12 PFR19 = (PFR19 & 0xFC) | 0x03; // enable UART: SIN,SOT for async. transfer
13 EPFR19 = 0x00; // enable UART
16 void Putch4(unsigned char ch) /* sends a char */
18 while (SSR04_TDRE == 0); /* wait for transmit buffer empty */
19 TDR04 = ch; /* put ch into buffer */
22 unsigned char Getch4(void) /* waits for and returns incomming char */
26 while(SSR04_RDRF == 0) /* wait for data received */
30 if ((SSR04 & 0xE0) != 0) { /* Check for errors PE, ORE, FRE */
31 SCR04_CRE = 1; /* Clear error flags */
33 return (ch); /* return char*/