Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed by
BusOut.h@1:6b7f447ca868, 2008-04-30 (annotated)
- Committer:
- simon.ford@mbed.co.uk
- Date:
- Wed Apr 30 15:43:24 2008 +0000
- Revision:
- 1:6b7f447ca868
- Parent:
- 0:82220227f4fa
- Child:
- 4:5d1359a283bc
Fixes:
- ADC bug
- Newlines at end of files
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon.ford@mbed.co.uk | 0:82220227f4fa | 1 | /* mbed Microcontroller Library - BusOut |
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_BUSOUT_H |
simon.ford@mbed.co.uk | 0:82220227f4fa | 6 | #define MBED_BUSOUT_H |
simon.ford@mbed.co.uk | 0:82220227f4fa | 7 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 8 | #include "Base.h" |
simon.ford@mbed.co.uk | 0:82220227f4fa | 9 | #include "DigitalOut.h" |
simon.ford@mbed.co.uk | 0:82220227f4fa | 10 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 11 | namespace mbed { |
simon.ford@mbed.co.uk | 0:82220227f4fa | 12 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 13 | /* Class: BusOut |
simon.ford@mbed.co.uk | 0:82220227f4fa | 14 | * A digital output bus, used for setting the state of a collection of pins |
simon.ford@mbed.co.uk | 0:82220227f4fa | 15 | */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 16 | class BusOut : public Base { |
simon.ford@mbed.co.uk | 0:82220227f4fa | 17 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 18 | public: |
simon.ford@mbed.co.uk | 0:82220227f4fa | 19 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 20 | /* Group: Configuration Methods */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 21 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 22 | /* Constructor: BusOut |
simon.ford@mbed.co.uk | 0:82220227f4fa | 23 | * Create an BusOut, connected to the specified pins |
simon.ford@mbed.co.uk | 0:82220227f4fa | 24 | * |
simon.ford@mbed.co.uk | 0:82220227f4fa | 25 | * Variables: |
simon.ford@mbed.co.uk | 0:82220227f4fa | 26 | * p<n> - DigitalOut pin to connect to bus bit <n> (5-30, NOT_CONNECTED) |
simon.ford@mbed.co.uk | 0:82220227f4fa | 27 | * |
simon.ford@mbed.co.uk | 0:82220227f4fa | 28 | * Note: |
simon.ford@mbed.co.uk | 0:82220227f4fa | 29 | * It is only required to specify as many pin variables as is required |
simon.ford@mbed.co.uk | 0:82220227f4fa | 30 | * for the bus; the rest will default to NOT_CONNECTED |
simon.ford@mbed.co.uk | 0:82220227f4fa | 31 | */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 32 | BusOut(int p0, int p1 = NOT_CONNECTED, int p2 = NOT_CONNECTED, int p3 = NOT_CONNECTED, |
simon.ford@mbed.co.uk | 0:82220227f4fa | 33 | int p4 = NOT_CONNECTED, int p5 = NOT_CONNECTED, int p6 = NOT_CONNECTED, int p7 = NOT_CONNECTED, |
simon.ford@mbed.co.uk | 0:82220227f4fa | 34 | int p8 = NOT_CONNECTED, int p9 = NOT_CONNECTED, int p10 = NOT_CONNECTED, int p11 = NOT_CONNECTED, |
simon.ford@mbed.co.uk | 0:82220227f4fa | 35 | int p12 = NOT_CONNECTED, int p13 = NOT_CONNECTED, int p14 = NOT_CONNECTED, int p15 = NOT_CONNECTED); |
simon.ford@mbed.co.uk | 0:82220227f4fa | 36 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 37 | virtual ~BusOut(); |
simon.ford@mbed.co.uk | 0:82220227f4fa | 38 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 39 | /* Group: Access Methods */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 40 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 41 | /* Function: write |
simon.ford@mbed.co.uk | 0:82220227f4fa | 42 | * Write the value to the output bus |
simon.ford@mbed.co.uk | 0:82220227f4fa | 43 | * |
simon.ford@mbed.co.uk | 0:82220227f4fa | 44 | * Variables: |
simon.ford@mbed.co.uk | 0:82220227f4fa | 45 | * value - An integer specifying a bit to write for every corresponding DigitalOut pin |
simon.ford@mbed.co.uk | 0:82220227f4fa | 46 | */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 47 | void write(int value); |
simon.ford@mbed.co.uk | 0:82220227f4fa | 48 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 49 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 50 | /* Function: read |
simon.ford@mbed.co.uk | 0:82220227f4fa | 51 | * Read the value currently output on the bus |
simon.ford@mbed.co.uk | 0:82220227f4fa | 52 | * |
simon.ford@mbed.co.uk | 0:82220227f4fa | 53 | * Variables: |
simon.ford@mbed.co.uk | 0:82220227f4fa | 54 | * returns - An integer with each bit corresponding to associated DigitalOut pin setting |
simon.ford@mbed.co.uk | 0:82220227f4fa | 55 | */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 56 | int read(); |
simon.ford@mbed.co.uk | 0:82220227f4fa | 57 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 58 | /* Group: Access Method Shorthand */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 59 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 60 | /* Function: operator= |
simon.ford@mbed.co.uk | 0:82220227f4fa | 61 | * A shorthand for <write> |
simon.ford@mbed.co.uk | 0:82220227f4fa | 62 | */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 63 | BusOut& operator= (int v); |
simon.ford@mbed.co.uk | 0:82220227f4fa | 64 | BusOut& operator= (BusOut& rhs); |
simon.ford@mbed.co.uk | 0:82220227f4fa | 65 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 66 | /* Function: operator int() |
simon.ford@mbed.co.uk | 0:82220227f4fa | 67 | * A shorthand for <read> |
simon.ford@mbed.co.uk | 0:82220227f4fa | 68 | */ |
simon.ford@mbed.co.uk | 0:82220227f4fa | 69 | operator int(); |
simon.ford@mbed.co.uk | 0:82220227f4fa | 70 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 71 | protected: |
simon.ford@mbed.co.uk | 0:82220227f4fa | 72 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 73 | DigitalOut* _pin[16]; |
simon.ford@mbed.co.uk | 0:82220227f4fa | 74 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 75 | }; |
simon.ford@mbed.co.uk | 0:82220227f4fa | 76 | |
simon.ford@mbed.co.uk | 0:82220227f4fa | 77 | } // namespace mbed |
simon.ford@mbed.co.uk | 0:82220227f4fa | 78 | |
simon.ford@mbed.co.uk | 1:6b7f447ca868 | 79 | #endif |
simon.ford@mbed.co.uk | 1:6b7f447ca868 | 80 |