]> sigrok.org Git - sigrok-firmware-fx2lafw.git/blame - fx2lib/include/serial.h
fx2lib: fix SDCC warning 283
[sigrok-firmware-fx2lafw.git] / fx2lib / include / serial.h
CommitLineData
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
47void 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**/
53void putchar(char c);
bb3c6dfd 54char getchar(void);