#include "mb91465k.h"
+#pragma section CODE=IRAM,attr=CODE
const char ASCII[] = "0123456789ABCDEF";
void InitUart4(void)
{
// Initialize UART asynchronous mode
// BGR04 = 1666; // 9600 Baud @ 16MHz
- BGR04 = 832; // 19200 Baud @ 16MHz
- // BGR04 = 416; // 38400 Baud @ 16MHz
-
- // BGR04 = 2083; // 9600 Baud @ 20MHz
- // BGR04 = 1041; // 19200 Baud @ 20MHz
- // BGR04 = 520; // 38400 Baud @ 20MHz
-
- // BGR04 = 2499; // 9600 Baud @ 24MHz
- // BGR04 = 1249; // 19200 Baud @ 24MHz
- // BGR04 = 624; // 38400 Baud @ 24MHz
+ // BGR04 = 832; // 19200 Baud @ 16MHz
+ BGR04 = 416; // 38400 Baud @ 16MHz
SCR04 = 0x17; // 8N1
SMR04 = 0x0d; // enable SOT3, Reset, normal mode
SSR04 = 0x00; // LSB first
EPFR19 = 0x00; // enable UART
}
-void Putch4(char ch) /* sends a char */
+void Putch4(unsigned char ch) /* sends a char */
{
while (SSR04_TDRE == 0); /* wait for transmit buffer empty */
TDR04 = ch; /* put ch into buffer */
}
-char Getch4(void) /* waits for and returns incomming char */
+unsigned char Getch4(void) /* waits for and returns incomming char */
{
volatile unsigned ch;
buf[digits]='\0'; /* end sign of string */
for (i=digits; i>0; i--) {
- buf[i-1] = ASCII[x % 10];
+ buf[i-1] = ASCII[x % 10]; // + '0' enough? :o
x = x/10;
}
Puts4(buf); /* send string */
}
-
-