config AX12

Fork of configure_ax12_test_bras_module by CRAC Team

Committer:
slowness
Date:
Wed Feb 03 14:01:53 2016 +0000
Revision:
0:c03cffe402df
Pour configurer les AX12 avec la carte NXP1768 sur les Pin 9 et 10

Who changed what in which revision?

UserRevisionLine numberNew contents of line
slowness 0:c03cffe402df 1 /* mbed Microcontroller Library - DigitalOut
slowness 0:c03cffe402df 2 * Copyright (c) 2006-2011 ARM Limited. All rights reserved.
slowness 0:c03cffe402df 3 */
slowness 0:c03cffe402df 4
slowness 0:c03cffe402df 5 #ifndef MBED_DIGITALOUT_H
slowness 0:c03cffe402df 6 #define MBED_DIGITALOUT_H
slowness 0:c03cffe402df 7
slowness 0:c03cffe402df 8 #include "platform.h"
slowness 0:c03cffe402df 9 #include "PinNames.h"
slowness 0:c03cffe402df 10 #include "PeripheralNames.h"
slowness 0:c03cffe402df 11 #include "Base.h"
slowness 0:c03cffe402df 12
slowness 0:c03cffe402df 13 namespace mbed {
slowness 0:c03cffe402df 14
slowness 0:c03cffe402df 15 /* Class: DigitalOut
slowness 0:c03cffe402df 16 * A digital output, used for setting the state of a pin
slowness 0:c03cffe402df 17 *
slowness 0:c03cffe402df 18 * Example:
slowness 0:c03cffe402df 19 * > // Toggle a LED
slowness 0:c03cffe402df 20 * > #include "mbed.h"
slowness 0:c03cffe402df 21 * >
slowness 0:c03cffe402df 22 * > DigitalOut led(LED1);
slowness 0:c03cffe402df 23 * >
slowness 0:c03cffe402df 24 * > int main() {
slowness 0:c03cffe402df 25 * > while(1) {
slowness 0:c03cffe402df 26 * > led = !led;
slowness 0:c03cffe402df 27 * > wait(0.2);
slowness 0:c03cffe402df 28 * > }
slowness 0:c03cffe402df 29 * > }
slowness 0:c03cffe402df 30 */
slowness 0:c03cffe402df 31 class DigitalOut : public Base {
slowness 0:c03cffe402df 32
slowness 0:c03cffe402df 33 public:
slowness 0:c03cffe402df 34
slowness 0:c03cffe402df 35 /* Constructor: DigitalOut
slowness 0:c03cffe402df 36 * Create a DigitalOut connected to the specified pin
slowness 0:c03cffe402df 37 *
slowness 0:c03cffe402df 38 * Variables:
slowness 0:c03cffe402df 39 * pin - DigitalOut pin to connect to
slowness 0:c03cffe402df 40 */
slowness 0:c03cffe402df 41 DigitalOut(PinName pin, const char* name = NULL);
slowness 0:c03cffe402df 42
slowness 0:c03cffe402df 43 /* Function: write
slowness 0:c03cffe402df 44 * Set the output, specified as 0 or 1 (int)
slowness 0:c03cffe402df 45 *
slowness 0:c03cffe402df 46 * Variables:
slowness 0:c03cffe402df 47 * value - An integer specifying the pin output value,
slowness 0:c03cffe402df 48 * 0 for logical 0 and 1 (or any other non-zero value) for logical 1
slowness 0:c03cffe402df 49 */
slowness 0:c03cffe402df 50 void write(int value) {
slowness 0:c03cffe402df 51
slowness 0:c03cffe402df 52 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
slowness 0:c03cffe402df 53
slowness 0:c03cffe402df 54 if(value) {
slowness 0:c03cffe402df 55 _gpio->FIOSET = _mask;
slowness 0:c03cffe402df 56 } else {
slowness 0:c03cffe402df 57 _gpio->FIOCLR = _mask;
slowness 0:c03cffe402df 58 }
slowness 0:c03cffe402df 59
slowness 0:c03cffe402df 60 #elif defined(TARGET_LPC11U24)
slowness 0:c03cffe402df 61
slowness 0:c03cffe402df 62 if(value) {
slowness 0:c03cffe402df 63 LPC_GPIO->SET[_index] = _mask;
slowness 0:c03cffe402df 64 } else {
slowness 0:c03cffe402df 65 LPC_GPIO->CLR[_index] = _mask;
slowness 0:c03cffe402df 66 }
slowness 0:c03cffe402df 67 #endif
slowness 0:c03cffe402df 68
slowness 0:c03cffe402df 69 }
slowness 0:c03cffe402df 70
slowness 0:c03cffe402df 71 /* Function: read
slowness 0:c03cffe402df 72 * Return the output setting, represented as 0 or 1 (int)
slowness 0:c03cffe402df 73 *
slowness 0:c03cffe402df 74 * Variables:
slowness 0:c03cffe402df 75 * returns - An integer representing the output setting of the pin,
slowness 0:c03cffe402df 76 * 0 for logical 0 and 1 for logical 1
slowness 0:c03cffe402df 77 */
slowness 0:c03cffe402df 78 int read() {
slowness 0:c03cffe402df 79 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
slowness 0:c03cffe402df 80 return ((_gpio->FIOPIN & _mask) ? 1 : 0);
slowness 0:c03cffe402df 81 #elif defined(TARGET_LPC11U24)
slowness 0:c03cffe402df 82 return ((LPC_GPIO->PIN[_index] & _mask) ? 1 : 0);
slowness 0:c03cffe402df 83 #endif
slowness 0:c03cffe402df 84
slowness 0:c03cffe402df 85 }
slowness 0:c03cffe402df 86
slowness 0:c03cffe402df 87
slowness 0:c03cffe402df 88 #ifdef MBED_OPERATORS
slowness 0:c03cffe402df 89 /* Function: operator=
slowness 0:c03cffe402df 90 * A shorthand for <write>
slowness 0:c03cffe402df 91 */
slowness 0:c03cffe402df 92 DigitalOut& operator= (int value) {
slowness 0:c03cffe402df 93 write(value);
slowness 0:c03cffe402df 94 return *this;
slowness 0:c03cffe402df 95 }
slowness 0:c03cffe402df 96
slowness 0:c03cffe402df 97 DigitalOut& operator= (DigitalOut& rhs) {
slowness 0:c03cffe402df 98 write(rhs.read());
slowness 0:c03cffe402df 99 return *this;
slowness 0:c03cffe402df 100 }
slowness 0:c03cffe402df 101
slowness 0:c03cffe402df 102
slowness 0:c03cffe402df 103 /* Function: operator int()
slowness 0:c03cffe402df 104 * A shorthand for <read>
slowness 0:c03cffe402df 105 */
slowness 0:c03cffe402df 106 operator int() {
slowness 0:c03cffe402df 107 return read();
slowness 0:c03cffe402df 108 }
slowness 0:c03cffe402df 109
slowness 0:c03cffe402df 110 #endif
slowness 0:c03cffe402df 111
slowness 0:c03cffe402df 112 #ifdef MBED_RPC
slowness 0:c03cffe402df 113 virtual const struct rpc_method *get_rpc_methods();
slowness 0:c03cffe402df 114 static struct rpc_class *get_rpc_class();
slowness 0:c03cffe402df 115 #endif
slowness 0:c03cffe402df 116
slowness 0:c03cffe402df 117 protected:
slowness 0:c03cffe402df 118
slowness 0:c03cffe402df 119 PinName _pin;
slowness 0:c03cffe402df 120
slowness 0:c03cffe402df 121 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
slowness 0:c03cffe402df 122 LPC_GPIO_TypeDef *_gpio;
slowness 0:c03cffe402df 123 #elif defined(TARGET_LPC11U24)
slowness 0:c03cffe402df 124 int _index;
slowness 0:c03cffe402df 125 #endif
slowness 0:c03cffe402df 126
slowness 0:c03cffe402df 127 uint32_t _mask;
slowness 0:c03cffe402df 128
slowness 0:c03cffe402df 129
slowness 0:c03cffe402df 130 };
slowness 0:c03cffe402df 131
slowness 0:c03cffe402df 132 } // namespace mbed
slowness 0:c03cffe402df 133
slowness 0:c03cffe402df 134 #endif