Lab 1 Program C
Fork of mbed by
Diff: Serial.h
- Revision:
- 11:1c1ebd0324fa
- Parent:
- 8:00a04e5cd407
- Child:
- 15:d1a9de3f4fe0
diff -r fcb9359f0959 -r 1c1ebd0324fa Serial.h --- a/Serial.h Thu May 14 14:44:00 2009 +0000 +++ b/Serial.h Fri Aug 28 12:10:11 2009 +0000 @@ -1,131 +1,142 @@ -/* mbed Microcontroller Library - Serial - * Copyright (c) 2007-2008, sford - */ - -#ifndef MBED_SERIAL_H -#define MBED_SERIAL_H - -#include "Stream.h" - -namespace mbed { - -/* Class: Serial - * A serial port (UART) for communication with other serial devices - */ -class Serial : public Stream { - -public: - - /* Constructor: Serial - * Create a Serial port, connected to the specified transmit and receive pins - * - * Variables: - * tx - Transmit pin - * rx - Receive pin - * - * Pin Options: - * (USBTX, USBRX) or (9, 10) or (13, 14) or (28, 27) - * - * Either tx or rx may be specified as NC (not connected) e.g. (9, NC) - */ - Serial(int tx, int rx, const char *name = NULL); - - - /* Function: baud - * Set the baud rate of the serial port - * - * Variables: - * baudrate - The baudrate of the serial port (default = 9600). - * Standard baud rates up to 921600 are supported. - */ - void baud(int baudrate); - - enum Parity { - None = 0, - Odd = 1, - Even = 2, - Forced1 = 3, - Forced0 = 4 - }; - - /* Function: format - * Set the transmission format used by the Serial port - * - * Variables: - * bits - The number of bits in a word (5-8; default = 8) - * parity - The type of parity used (None, Odd, Even, Forced1, Forced0; default = None) - * stop - The number of stop bits (1 or 2; default = 1) - */ - void format(int bits, int parity, int stop); - - -#if 0 // Inhereted from Stream, for documentation only - - /* Function: putc - * Write a character - * - * Variables: - * c - The character to write to the serial port - */ - int putc(int c); - - /* Function: getc - * Read a character - * - * Variables: - * returns - The character read from the serial port - */ - int getc(); - - /* Function: printf - * Write a formated string - * - * Variables: - * format - A printf-style format string, followed by the - * variables to use in formating the string. - */ - int printf(const char* format, ...); - - /* Function: scanf - * Read a formated string - * - * Variables: - * format - A scanf-style format string, - * followed by the pointers to variables to store the results. - */ - int scanf(const char* format, ...); - -#endif - - /* Function: readable - * Determine if there is a character available to read - * - * Variables: - * returns - 1 if there is a character available to read, else 0 - */ - int readable(); - - /* Function: writeable - * Determine if there is space available to write a character - * - * Variables: - * returns - 1 if there is space to write a character, else 0 - */ - int writeable(); - - virtual const struct rpc_method *get_rpc_methods(); - static struct rpc_class *get_rpc_class(); - -protected: - - virtual int _getc(); - virtual int _putc(int c); - - int _id; - -}; - -} - -#endif - +/* mbed Microcontroller Library - Serial + * Copyright (c) 2007-2009 ARM Limited. All rights reserved. + * sford + */ + +#ifndef MBED_SERIAL_H +#define MBED_SERIAL_H + +#include "platform.h" +#include "PinNames.h" +#include "PeripheralNames.h" +#include "Stream.h" + +namespace mbed { + +/* Class: Serial + * A serial port (UART) for communication with other serial devices + * + * Example: + * > // Print "Hello World" to the PC + * > + * > #include "mbed.h" + * > + * > Serial pc(USBTX, USBRX); + * > + * > int main() { + * > pc.printf("Hello World\n"); + * > } + */ +class Serial : public Stream { + +public: + + /* Constructor: Serial + * Create a Serial port, connected to the specified transmit and receive pins + * + * Variables: + * tx - Transmit pin + * rx - Receive pin + * + * Note: Either tx or rx may be specified as NOT_CONNECTED if unused + */ + Serial(PinName tx, PinName rx, const char *name = NULL); + + /* Function: baud + * Set the baud rate of the serial port + * + * Variables: + * baudrate - The baudrate of the serial port (default = 9600). + */ + void baud(int baudrate); + + enum Parity { + None = 0 + , Odd + , Even + , Forced1 + , Forced0 + }; + + /* Function: format + * Set the transmission format used by the Serial port + * + * Variables: + * bits - The number of bits in a word (5-8; default = 8) + * parity - The parity used (Serial::None, Serial::Odd, Serial::Even, Serial::Forced1, Serial::Forced0; default = Serial::None) + * stop - The number of stop bits (1 or 2; default = 1) + */ + void format(int bits = 8, Parity parity = Serial::None, int stop_bits = 1); + +#if 0 // Inhereted from Stream, for documentation only + + /* Function: putc + * Write a character + * + * Variables: + * c - The character to write to the serial port + */ + int putc(int c); + + /* Function: getc + * Read a character + * + * Variables: + * returns - The character read from the serial port + */ + int getc(); + + /* Function: printf + * Write a formated string + * + * Variables: + * format - A printf-style format string, followed by the + * variables to use in formating the string. + */ + int printf(const char* format, ...); + + /* Function: scanf + * Read a formated string + * + * Variables: + * format - A scanf-style format string, + * followed by the pointers to variables to store the results. + */ + int scanf(const char* format, ...); + +#endif + + /* Function: readable + * Determine if there is a character available to read + * + * Variables: + * returns - 1 if there is a character available to read, else 0 + */ + int readable(); + + /* Function: writeable + * Determine if there is space available to write a character + * + * Variables: + * returns - 1 if there is space to write a character, else 0 + */ + int writeable(); + +#ifdef MBED_RPC + virtual const struct rpc_method *get_rpc_methods(); + static struct rpc_class *get_rpc_class(); +#endif + +protected: + + virtual int _getc(); + virtual int _putc(int c); + + UARTName _uart; + +}; + +} // namespace mbed + +#endif +