エレキジャックweb mbed入門 mbed RMCS鉄道模型自動制御システム 課題4です。2つのボリュームにより反転時の速度制御を独立して行います。

Dependencies:   mbed

Committer:
takeuchi
Date:
Thu Jan 19 00:54:59 2012 +0000
Revision:
0:5d7d8bdafd1f

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
takeuchi 0:5d7d8bdafd1f 1 /* mbed TextLCD Library
takeuchi 0:5d7d8bdafd1f 2 * Copyright (c) 2007-2009 sford
takeuchi 0:5d7d8bdafd1f 3 * Released under the MIT License: http://mbed.org/license/mit
takeuchi 0:5d7d8bdafd1f 4 */
takeuchi 0:5d7d8bdafd1f 5
takeuchi 0:5d7d8bdafd1f 6 #ifndef MBED_TEXTLCD_H
takeuchi 0:5d7d8bdafd1f 7 #define MBED_TEXTLCD_H
takeuchi 0:5d7d8bdafd1f 8
takeuchi 0:5d7d8bdafd1f 9 #include "Stream.h"
takeuchi 0:5d7d8bdafd1f 10 #include "DigitalOut.h"
takeuchi 0:5d7d8bdafd1f 11 #include "BusOut.h"
takeuchi 0:5d7d8bdafd1f 12
takeuchi 0:5d7d8bdafd1f 13 namespace mbed {
takeuchi 0:5d7d8bdafd1f 14
takeuchi 0:5d7d8bdafd1f 15 /* Class: TextLCD
takeuchi 0:5d7d8bdafd1f 16 * A 16x2 Text LCD controller
takeuchi 0:5d7d8bdafd1f 17 *
takeuchi 0:5d7d8bdafd1f 18 * Allows you to print to a Text LCD screen, and locate/cls. Could be
takeuchi 0:5d7d8bdafd1f 19 * turned in to a more generic libray.
takeuchi 0:5d7d8bdafd1f 20 *
takeuchi 0:5d7d8bdafd1f 21 * If you are connecting multiple displays, you can connect them all in
takeuchi 0:5d7d8bdafd1f 22 * parallel except for the enable (e) pin, which must be unique for each
takeuchi 0:5d7d8bdafd1f 23 * display.
takeuchi 0:5d7d8bdafd1f 24 *
takeuchi 0:5d7d8bdafd1f 25 * Example:
takeuchi 0:5d7d8bdafd1f 26 * > #include "mbed.h"
takeuchi 0:5d7d8bdafd1f 27 * > #include "TextLCD.h"
takeuchi 0:5d7d8bdafd1f 28 * >
takeuchi 0:5d7d8bdafd1f 29 * > TextLCD lcd(p24, p25, p26, p27, p28, p29, p30); // rs, rw, e, d0, d1, d2, d3
takeuchi 0:5d7d8bdafd1f 30 * >
takeuchi 0:5d7d8bdafd1f 31 * > int main() {
takeuchi 0:5d7d8bdafd1f 32 * > lcd.printf("Hello World!");
takeuchi 0:5d7d8bdafd1f 33 * > }
takeuchi 0:5d7d8bdafd1f 34 */
takeuchi 0:5d7d8bdafd1f 35 class TextLCD : public Stream {
takeuchi 0:5d7d8bdafd1f 36
takeuchi 0:5d7d8bdafd1f 37 public:
takeuchi 0:5d7d8bdafd1f 38 /* Constructor: TextLCD
takeuchi 0:5d7d8bdafd1f 39 * Create a TextLCD object, connected to the specified pins
takeuchi 0:5d7d8bdafd1f 40 *
takeuchi 0:5d7d8bdafd1f 41 * All signals must be connected to DigitalIn compatible pins.
takeuchi 0:5d7d8bdafd1f 42 *
takeuchi 0:5d7d8bdafd1f 43 * Variables:
takeuchi 0:5d7d8bdafd1f 44 * rs - Used to specify data or command
takeuchi 0:5d7d8bdafd1f 45 * rw - Used to determine read or write
takeuchi 0:5d7d8bdafd1f 46 * e - enable
takeuchi 0:5d7d8bdafd1f 47 * d0..d3 - The data lines
takeuchi 0:5d7d8bdafd1f 48 */
takeuchi 0:5d7d8bdafd1f 49 TextLCD(PinName rs, PinName rw, PinName e, PinName d0, PinName d1,
takeuchi 0:5d7d8bdafd1f 50 PinName d2, PinName d3, int columns , int rows );
takeuchi 0:5d7d8bdafd1f 51
takeuchi 0:5d7d8bdafd1f 52 #if 0 // Inhereted from Stream, for documentation only
takeuchi 0:5d7d8bdafd1f 53 /* Function: putc
takeuchi 0:5d7d8bdafd1f 54 * Write a character
takeuchi 0:5d7d8bdafd1f 55 *
takeuchi 0:5d7d8bdafd1f 56 * Variables:
takeuchi 0:5d7d8bdafd1f 57 * c - The character to write to the serial port
takeuchi 0:5d7d8bdafd1f 58 */
takeuchi 0:5d7d8bdafd1f 59 int putc(int c);
takeuchi 0:5d7d8bdafd1f 60
takeuchi 0:5d7d8bdafd1f 61 /* Function: printf
takeuchi 0:5d7d8bdafd1f 62 * Write a formated string
takeuchi 0:5d7d8bdafd1f 63 *
takeuchi 0:5d7d8bdafd1f 64 * Variables:
takeuchi 0:5d7d8bdafd1f 65 * format - A printf-style format string, followed by the
takeuchi 0:5d7d8bdafd1f 66 * variables to use in formating the string.
takeuchi 0:5d7d8bdafd1f 67 */
takeuchi 0:5d7d8bdafd1f 68 int printf(const char* format, ...);
takeuchi 0:5d7d8bdafd1f 69 #endif
takeuchi 0:5d7d8bdafd1f 70
takeuchi 0:5d7d8bdafd1f 71 /* Function: locate
takeuchi 0:5d7d8bdafd1f 72 * Locate to a certian position
takeuchi 0:5d7d8bdafd1f 73 *
takeuchi 0:5d7d8bdafd1f 74 * Variables:
takeuchi 0:5d7d8bdafd1f 75 * column - the column to locate to, from 0..15
takeuchi 0:5d7d8bdafd1f 76 * row - the row to locate to, from 0..1
takeuchi 0:5d7d8bdafd1f 77 */
takeuchi 0:5d7d8bdafd1f 78 virtual void locate(int column, int row);
takeuchi 0:5d7d8bdafd1f 79
takeuchi 0:5d7d8bdafd1f 80 /* Function: cls
takeuchi 0:5d7d8bdafd1f 81 * Clear the screen, and locate to 0,0
takeuchi 0:5d7d8bdafd1f 82 */
takeuchi 0:5d7d8bdafd1f 83 virtual void cls();
takeuchi 0:5d7d8bdafd1f 84
takeuchi 0:5d7d8bdafd1f 85 virtual void reset();
takeuchi 0:5d7d8bdafd1f 86
takeuchi 0:5d7d8bdafd1f 87 protected:
takeuchi 0:5d7d8bdafd1f 88
takeuchi 0:5d7d8bdafd1f 89 void clock();
takeuchi 0:5d7d8bdafd1f 90 void writeData(int data);
takeuchi 0:5d7d8bdafd1f 91 void writeCommand(int command);
takeuchi 0:5d7d8bdafd1f 92 void writeByte(int value);
takeuchi 0:5d7d8bdafd1f 93 void writeNibble(int value);
takeuchi 0:5d7d8bdafd1f 94 virtual int _putc(int c);
takeuchi 0:5d7d8bdafd1f 95 virtual int _getc();
takeuchi 0:5d7d8bdafd1f 96 virtual void newline();
takeuchi 0:5d7d8bdafd1f 97
takeuchi 0:5d7d8bdafd1f 98 int _row;
takeuchi 0:5d7d8bdafd1f 99 int _column;
takeuchi 0:5d7d8bdafd1f 100 DigitalOut _rw, _rs, _e;
takeuchi 0:5d7d8bdafd1f 101 BusOut _d;
takeuchi 0:5d7d8bdafd1f 102 int _columns;
takeuchi 0:5d7d8bdafd1f 103 int _rows;
takeuchi 0:5d7d8bdafd1f 104
takeuchi 0:5d7d8bdafd1f 105 };
takeuchi 0:5d7d8bdafd1f 106
takeuchi 0:5d7d8bdafd1f 107 }
takeuchi 0:5d7d8bdafd1f 108
takeuchi 0:5d7d8bdafd1f 109 #endif