Lab 1 Program C

Dependents:   Lab1C

Fork of mbed by -deleted-

Committer:
simon.ford@mbed.co.uk
Date:
Tue Apr 08 14:12:21 2008 +0000
Revision:
0:82220227f4fa
Child:
1:6b7f447ca868
A first develoment release of the mbed libraries

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon.ford@mbed.co.uk 0:82220227f4fa 1 /* mbed Microcontroller Library - Serial
simon.ford@mbed.co.uk 0:82220227f4fa 2 * Copyright (c) 2007-2008, sford
simon.ford@mbed.co.uk 0:82220227f4fa 3 */
simon.ford@mbed.co.uk 0:82220227f4fa 4
simon.ford@mbed.co.uk 0:82220227f4fa 5 #ifndef MBED_SERIAL_H
simon.ford@mbed.co.uk 0:82220227f4fa 6 #define MBED_SERIAL_H
simon.ford@mbed.co.uk 0:82220227f4fa 7
simon.ford@mbed.co.uk 0:82220227f4fa 8 #include "Stream.h"
simon.ford@mbed.co.uk 0:82220227f4fa 9
simon.ford@mbed.co.uk 0:82220227f4fa 10 namespace mbed {
simon.ford@mbed.co.uk 0:82220227f4fa 11
simon.ford@mbed.co.uk 0:82220227f4fa 12 /* Class: Serial
simon.ford@mbed.co.uk 0:82220227f4fa 13 * A serial port (UART) for communication with other serial devices
simon.ford@mbed.co.uk 0:82220227f4fa 14 */
simon.ford@mbed.co.uk 0:82220227f4fa 15 class Serial : public Stream {
simon.ford@mbed.co.uk 0:82220227f4fa 16
simon.ford@mbed.co.uk 0:82220227f4fa 17 public:
simon.ford@mbed.co.uk 0:82220227f4fa 18
simon.ford@mbed.co.uk 0:82220227f4fa 19 /* Group: Configuration Methods */
simon.ford@mbed.co.uk 0:82220227f4fa 20
simon.ford@mbed.co.uk 0:82220227f4fa 21 /* Constructor: Serial
simon.ford@mbed.co.uk 0:82220227f4fa 22 * Create a Serial port, connected to the specified transmit and receive pins
simon.ford@mbed.co.uk 0:82220227f4fa 23 *
simon.ford@mbed.co.uk 0:82220227f4fa 24 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 25 * tx - Transmit pin
simon.ford@mbed.co.uk 0:82220227f4fa 26 * rx - Receive pin
simon.ford@mbed.co.uk 0:82220227f4fa 27 *
simon.ford@mbed.co.uk 0:82220227f4fa 28 * Pin Options:
simon.ford@mbed.co.uk 0:82220227f4fa 29 * (9, 10) or (13, 14) or (28, 27)
simon.ford@mbed.co.uk 0:82220227f4fa 30 */
simon.ford@mbed.co.uk 0:82220227f4fa 31 Serial(int tx, int rx);
simon.ford@mbed.co.uk 0:82220227f4fa 32
simon.ford@mbed.co.uk 0:82220227f4fa 33
simon.ford@mbed.co.uk 0:82220227f4fa 34 /* Function: baud
simon.ford@mbed.co.uk 0:82220227f4fa 35 * Set the baud rate of the serial port
simon.ford@mbed.co.uk 0:82220227f4fa 36 *
simon.ford@mbed.co.uk 0:82220227f4fa 37 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 38 * baudrate - The baudrate of the serial port (default = 9600).
simon.ford@mbed.co.uk 0:82220227f4fa 39 * Standard baud rates up to 921600 are supported.
simon.ford@mbed.co.uk 0:82220227f4fa 40 */
simon.ford@mbed.co.uk 0:82220227f4fa 41 void baud(int baudrate);
simon.ford@mbed.co.uk 0:82220227f4fa 42
simon.ford@mbed.co.uk 0:82220227f4fa 43 enum Parity {
simon.ford@mbed.co.uk 0:82220227f4fa 44 None = 0,
simon.ford@mbed.co.uk 0:82220227f4fa 45 Odd = 1,
simon.ford@mbed.co.uk 0:82220227f4fa 46 Even = 2,
simon.ford@mbed.co.uk 0:82220227f4fa 47 Forced1 = 3,
simon.ford@mbed.co.uk 0:82220227f4fa 48 Forced0 = 4
simon.ford@mbed.co.uk 0:82220227f4fa 49 };
simon.ford@mbed.co.uk 0:82220227f4fa 50
simon.ford@mbed.co.uk 0:82220227f4fa 51 /* Function: format
simon.ford@mbed.co.uk 0:82220227f4fa 52 * Set the transmission format used by the Serial port
simon.ford@mbed.co.uk 0:82220227f4fa 53 *
simon.ford@mbed.co.uk 0:82220227f4fa 54 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 55 * bits - The number of bits in a word (5-8; default = 8)
simon.ford@mbed.co.uk 0:82220227f4fa 56 * parity - The type of parity used (None, Odd, Even, Forced1, Forced0; default = None)
simon.ford@mbed.co.uk 0:82220227f4fa 57 * stop - The number of stop bits (1 or 2; default = 1)
simon.ford@mbed.co.uk 0:82220227f4fa 58 */
simon.ford@mbed.co.uk 0:82220227f4fa 59 void format(int bits, int parity, int stop);
simon.ford@mbed.co.uk 0:82220227f4fa 60
simon.ford@mbed.co.uk 0:82220227f4fa 61
simon.ford@mbed.co.uk 0:82220227f4fa 62 /* Group: Access Methods */
simon.ford@mbed.co.uk 0:82220227f4fa 63
simon.ford@mbed.co.uk 0:82220227f4fa 64 #if 0 // Inhereted from Stream, for documentation only
simon.ford@mbed.co.uk 0:82220227f4fa 65
simon.ford@mbed.co.uk 0:82220227f4fa 66 /* Function: putc
simon.ford@mbed.co.uk 0:82220227f4fa 67 * Write a character
simon.ford@mbed.co.uk 0:82220227f4fa 68 *
simon.ford@mbed.co.uk 0:82220227f4fa 69 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 70 * c - The character to write to the serial port
simon.ford@mbed.co.uk 0:82220227f4fa 71 */
simon.ford@mbed.co.uk 0:82220227f4fa 72 int putc(int c);
simon.ford@mbed.co.uk 0:82220227f4fa 73
simon.ford@mbed.co.uk 0:82220227f4fa 74 /* Function: getc
simon.ford@mbed.co.uk 0:82220227f4fa 75 * Read a character
simon.ford@mbed.co.uk 0:82220227f4fa 76 *
simon.ford@mbed.co.uk 0:82220227f4fa 77 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 78 * returns - The character read from the serial port
simon.ford@mbed.co.uk 0:82220227f4fa 79 */
simon.ford@mbed.co.uk 0:82220227f4fa 80 int getc();
simon.ford@mbed.co.uk 0:82220227f4fa 81
simon.ford@mbed.co.uk 0:82220227f4fa 82 /* Function: printf
simon.ford@mbed.co.uk 0:82220227f4fa 83 * Write a formated string
simon.ford@mbed.co.uk 0:82220227f4fa 84 *
simon.ford@mbed.co.uk 0:82220227f4fa 85 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 86 * format - A printf-style format string, followed by the
simon.ford@mbed.co.uk 0:82220227f4fa 87 * variables to use in formating the string.
simon.ford@mbed.co.uk 0:82220227f4fa 88 */
simon.ford@mbed.co.uk 0:82220227f4fa 89 int printf(const char* format, ...);
simon.ford@mbed.co.uk 0:82220227f4fa 90
simon.ford@mbed.co.uk 0:82220227f4fa 91 /* Function: scanf
simon.ford@mbed.co.uk 0:82220227f4fa 92 * Read a formated string
simon.ford@mbed.co.uk 0:82220227f4fa 93 *
simon.ford@mbed.co.uk 0:82220227f4fa 94 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 95 * format - A scanf-style format string,
simon.ford@mbed.co.uk 0:82220227f4fa 96 * followed by the pointers to variables to store the results.
simon.ford@mbed.co.uk 0:82220227f4fa 97 */
simon.ford@mbed.co.uk 0:82220227f4fa 98 int scanf(const char* format, ...);
simon.ford@mbed.co.uk 0:82220227f4fa 99
simon.ford@mbed.co.uk 0:82220227f4fa 100 #endif
simon.ford@mbed.co.uk 0:82220227f4fa 101
simon.ford@mbed.co.uk 0:82220227f4fa 102 /* Function: readable
simon.ford@mbed.co.uk 0:82220227f4fa 103 * Determine if there is a character available to read
simon.ford@mbed.co.uk 0:82220227f4fa 104 *
simon.ford@mbed.co.uk 0:82220227f4fa 105 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 106 * returns - 1 if there is a character available to read, else 0
simon.ford@mbed.co.uk 0:82220227f4fa 107 */
simon.ford@mbed.co.uk 0:82220227f4fa 108 int readable();
simon.ford@mbed.co.uk 0:82220227f4fa 109
simon.ford@mbed.co.uk 0:82220227f4fa 110 /* Function: writeable
simon.ford@mbed.co.uk 0:82220227f4fa 111 * Determine if there is space available to write a character
simon.ford@mbed.co.uk 0:82220227f4fa 112 *
simon.ford@mbed.co.uk 0:82220227f4fa 113 * Variables:
simon.ford@mbed.co.uk 0:82220227f4fa 114 * returns - 1 if there is space to write a character, else 0
simon.ford@mbed.co.uk 0:82220227f4fa 115 */
simon.ford@mbed.co.uk 0:82220227f4fa 116 int writeable();
simon.ford@mbed.co.uk 0:82220227f4fa 117
simon.ford@mbed.co.uk 0:82220227f4fa 118 protected:
simon.ford@mbed.co.uk 0:82220227f4fa 119
simon.ford@mbed.co.uk 0:82220227f4fa 120 virtual int _getc();
simon.ford@mbed.co.uk 0:82220227f4fa 121 virtual int _putc(int c);
simon.ford@mbed.co.uk 0:82220227f4fa 122
simon.ford@mbed.co.uk 0:82220227f4fa 123 int _id;
simon.ford@mbed.co.uk 0:82220227f4fa 124
simon.ford@mbed.co.uk 0:82220227f4fa 125 };
simon.ford@mbed.co.uk 0:82220227f4fa 126
simon.ford@mbed.co.uk 0:82220227f4fa 127 }
simon.ford@mbed.co.uk 0:82220227f4fa 128
simon.ford@mbed.co.uk 0:82220227f4fa 129 #endif