make: check if git is available before calculate version
[pyfrprog.git] / pkernel / uart.c
1 #include "mb91465k.h"
2
3 void InitUart4(void)
4 {
5         // Initialize UART asynchronous mode
6         BGR04 = 138; // 115200 Baud @ 16MHz
7         SCR04 = 0x17; // 8N1
8         SMR04 = 0x0d; // enable SOT3, Reset, normal mode
9         SSR04 = 0x00; // LSB first
10         PFR19 = (PFR19 & 0xFC) | 0x03; // enable UART: SIN,SOT for async. transfer
11         EPFR19 = 0x00; // enable UART
12 }
13
14 void Putch4(unsigned char ch) /* sends a char */
15 {
16         while (SSR04_TDRE == 0); /* wait for transmit buffer empty */
17         TDR04 = ch; /* put ch into buffer */
18 }
19
20 unsigned char Getch4(void) /* waits for and returns incomming char      */
21 {
22         volatile unsigned ch;
23         for(;;) {
24                 while(SSR04_RDRF == 0) /* wait for data received */
25                         HWWD = 0x00;
26                 ch = RDR04;
27
28                 if ((SSR04 & 0xE0) != 0) { /* Check for errors PE, ORE, FRE */
29                         SCR04_CRE = 1; /* Clear error flags */
30                 } else {
31                         return (ch); /* return char*/
32                 }
33         }
34 }
35