]>
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 | |
14 | // License along with this library; if not, write to the Free Software | |
15 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
16 | ||
17 | /** \file serial.h | |
18 | * defines functions to print to a serial console with SIO0 | |
19 | **/ | |
20 | ||
21 | #include "fx2types.h" | |
22 | ||
23 | ||
24 | /** | |
25 | * This function inits sio0 to use T2CON (timer 2) | |
26 | * See TRM 14.3.4.1 (Table 14-16) | |
27 | * Certain baud rates have too high an error rate to work. All baud rates are .16% | |
28 | * except: | |
29 | * | |
30 | * 12MHZ 24MHZ | |
31 | * \li 57600 -6.99% | |
32 | * \li 38400 -2.34% -2.34% | |
33 | * \li 19200 -2.34% | |
34 | * | |
35 | * Possible Baud rates: | |
36 | * \li 2400 | |
37 | * \li 4800 | |
38 | * \li 9600 | |
39 | * \li 19200 | |
40 | * \li 28800 | |
41 | * \li 38400 | |
42 | * \li 57600 | |
43 | * | |
44 | * Any of these rates should work except 57600 at 12mhz. -2.34% is pushing | |
45 | * most hardware specs for working. All rates at 48mhz work at .16% | |
46 | **/ | |
47 | ||
48 | void sio0_init( WORD baud_rate ) __critical ; // baud_rate max should be 57600 since int=2 bytes | |
49 | ||
50 | /** | |
51 | putchar('\\n') or putchar('\\r') both transmit \\r\\n | |
52 | Just use one or the other. (This makes terminal echo easy) | |
53 | **/ | |
54 | void putchar(char c); | |
55 | char getchar(); |