]>
Commit | Line | Data |
---|---|---|
3608c106 UH |
1 | // Copyright (C) 2009 Ubixum, Inc. |
2 | // | |
3 | // This library is free software; you can redistribute it and/or | |
4 | // modify it under the terms of the GNU Lesser General Public | |
5 | // License as published by the Free Software Foundation; either | |
6 | // version 2.1 of the License, or (at your option) any later version. | |
7 | // | |
8 | // This library is distributed in the hope that it will be useful, | |
9 | // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
11 | // Lesser General Public License for more details. | |
12 | // | |
13 | // You should have received a copy of the GNU Lesser General Public | |
040a6eae | 14 | // License along with this library; if not, see <http://www.gnu.org/licenses/>. |
3608c106 UH |
15 | |
16 | /** \file serial.h | |
17 | * defines functions to print to a serial console with SIO0 | |
18 | **/ | |
19 | ||
20 | #include "fx2types.h" | |
21 | ||
22 | ||
23 | /** | |
24 | * This function inits sio0 to use T2CON (timer 2) | |
25 | * See TRM 14.3.4.1 (Table 14-16) | |
26 | * Certain baud rates have too high an error rate to work. All baud rates are .16% | |
27 | * except: | |
28 | * | |
29 | * 12MHZ 24MHZ | |
30 | * \li 57600 -6.99% | |
31 | * \li 38400 -2.34% -2.34% | |
32 | * \li 19200 -2.34% | |
33 | * | |
34 | * Possible Baud rates: | |
35 | * \li 2400 | |
36 | * \li 4800 | |
37 | * \li 9600 | |
38 | * \li 19200 | |
39 | * \li 28800 | |
40 | * \li 38400 | |
41 | * \li 57600 | |
42 | * | |
43 | * Any of these rates should work except 57600 at 12mhz. -2.34% is pushing | |
44 | * most hardware specs for working. All rates at 48mhz work at .16% | |
45 | **/ | |
46 | ||
47 | void sio0_init( WORD baud_rate ) __critical ; // baud_rate max should be 57600 since int=2 bytes | |
48 | ||
49 | /** | |
50 | putchar('\\n') or putchar('\\r') both transmit \\r\\n | |
51 | Just use one or the other. (This makes terminal echo easy) | |
52 | **/ | |
53 | void putchar(char c); | |
bb3c6dfd | 54 | char getchar(void); |