Matthias Praja
/
B15_All_LED_ON
All LED ON
Fork of _B15_T1a_All_LED_ON by
main.cpp@4:cbda5cdd8f60, 2016-01-08 (annotated)
- Committer:
- Matthias_Praja
- Date:
- Fri Jan 08 15:50:32 2016 +0000
- Revision:
- 4:cbda5cdd8f60
- Parent:
- 3:a43d6e30247c
All LED ON
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Enenkel | 0:a8a0195ed7dc | 1 | /*********************************** |
Enenkel | 3:a43d6e30247c | 2 | Name: BERTL15_Test1a |
Enenkel | 1:628da1b465a4 | 3 | author: Enenkel |
Enenkel | 0:a8a0195ed7dc | 4 | description: |
Enenkel | 3:a43d6e30247c | 5 | All LED ON |
Enenkel | 0:a8a0195ed7dc | 6 | ***********************************/ |
Enenkel | 0:a8a0195ed7dc | 7 | #include "mbed.h" |
Enenkel | 1:628da1b465a4 | 8 | |
Enenkel | 3:a43d6e30247c | 9 | // 3,3 und 3,7V |
Enenkel | 2:93f65758fcb7 | 10 | DigitalOut LedD10 (P1_8); // LED D10 bis D13 IO Definieren |
Enenkel | 1:628da1b465a4 | 11 | DigitalOut LedD11 (P1_9); |
Enenkel | 1:628da1b465a4 | 12 | DigitalOut LedD12 (P1_10); |
Enenkel | 1:628da1b465a4 | 13 | DigitalOut LedD13 (P1_11); |
Enenkel | 2:93f65758fcb7 | 14 | |
Enenkel | 2:93f65758fcb7 | 15 | I2C i2c(p28, p27); // die Adressen des I2C Busses am uP |
Enenkel | 2:93f65758fcb7 | 16 | // p28 -> SDA |
Enenkel | 2:93f65758fcb7 | 17 | // p27 -> SCL |
Enenkel | 1:628da1b465a4 | 18 | |
Enenkel | 3:a43d6e30247c | 19 | // 5V & Motor Spannung |
Enenkel | 3:a43d6e30247c | 20 | DigitalOut Von (P1_2); // SPANNUNG 10V & 5V EIN |
Enenkel | 2:93f65758fcb7 | 21 | DigitalOut LedBLUE(P1_28); // Blaue LED unter dem B15 |
Enenkel | 3:a43d6e30247c | 22 | DigitalOut LedBL (P1_24); // RGB LED |
Enenkel | 2:93f65758fcb7 | 23 | DigitalOut LedGR (P1_25); // |
Enenkel | 3:a43d6e30247c | 24 | DigitalOut LedRT (P1_23); // RT |
Enenkel | 1:628da1b465a4 | 25 | |
Enenkel | 0:a8a0195ed7dc | 26 | int main() { |
Enenkel | 3:a43d6e30247c | 27 | while(1){ |
Enenkel | 3:a43d6e30247c | 28 | Von=1; // Motorspannung und 5V Schiene EIN |
Enenkel | 0:a8a0195ed7dc | 29 | // **** Config PCA9555 I0 as output ******* |
Enenkel | 0:a8a0195ed7dc | 30 | i2c.start(); |
Enenkel | 3:a43d6e30247c | 31 | i2c.write(0x40); // Adresse des PCA9555 = 40 |
Enenkel | 3:a43d6e30247c | 32 | // das letzte Bit = 0 -> schreiben 0040 0000 |
Enenkel | 3:a43d6e30247c | 33 | i2c.write(0x06); // Befehl für das IO Port 0 -> siehe SCHEMA des PCA9555 |
Enenkel | 3:a43d6e30247c | 34 | i2c.write(0x00); // Schalte alle Pins des Ports als OUTPUT |
Enenkel | 0:a8a0195ed7dc | 35 | i2c.stop(); |
Enenkel | 2:93f65758fcb7 | 36 | |
Enenkel | 2:93f65758fcb7 | 37 | // RGB on |
Matthias_Praja | 4:cbda5cdd8f60 | 38 | LedGR=LedGR=0; // RGB LED = WEISS (inverse Logik) |
Enenkel | 2:93f65758fcb7 | 39 | |
Enenkel | 3:a43d6e30247c | 40 | // D10-D13 EIN |
Enenkel | 3:a43d6e30247c | 41 | LedD10=LedD11=LedD12=LedD13=1; |
Enenkel | 3:a43d6e30247c | 42 | |
Enenkel | 2:93f65758fcb7 | 43 | // Blaue Unterboden LED Blinken (invers!) |
Enenkel | 3:a43d6e30247c | 44 | LedBLUE = 0; // invers |
Enenkel | 3:a43d6e30247c | 45 | |
Enenkel | 3:a43d6e30247c | 46 | // Schreiben auf Port 0 und damit auf die LED's |
Enenkel | 3:a43d6e30247c | 47 | i2c.start(); |
Enenkel | 3:a43d6e30247c | 48 | i2c.write(0x40); // Adresse & schreiben |
Enenkel | 3:a43d6e30247c | 49 | i2c.write(0x02); // |
Enenkel | 3:a43d6e30247c | 50 | i2c.write(0x00); // schreiben auf Port ALLE LED ON |
Enenkel | 3:a43d6e30247c | 51 | i2c.stop(); |
Enenkel | 3:a43d6e30247c | 52 | |
Enenkel | 3:a43d6e30247c | 53 | } |
Enenkel | 3:a43d6e30247c | 54 | } |
Enenkel | 3:a43d6e30247c | 55 | // ******************* ENDE ****************************** |