050216
Dependencies: MODSERIAL mon-050216 mbed timer0-050216
Fork of mbed_blinky by
main.cpp
- Committer:
- rs27
- Date:
- 2016-02-05
- Revision:
- 10:cfd15bd4762a
- Parent:
- 4:81cea7a352b0
- Child:
- 11:be852b7b7692
File content as of revision 10:cfd15bd4762a:
// RS485 Link für modeserial // https://developer.mbed.org/cookbook/MODSERIAL #include "mbed.h" #include "main.h" #include "timer0.h" #include "mon.h" #include "rs_485.h" DigitalOut led1(LED1,1); DigitalOut led2(LED2,1); DigitalOut led3(LED3,1); DigitalOut led4(LED4,1); DigitalOut led5(LED5,1); DigitalOut led6(LED6,1); DigitalOut led7(LED7,1); DigitalOut out1(OUT1,0); // max 500mA schaltet gegen GND DigitalOut out2(OUT2,0); DigitalOut out3(OUT3,0); DigitalOut out4(OUT4,0); DigitalIn in1(IN1); // 0 oder 24V DigitalIn in2(IN2); DigitalIn in3(IN3); DigitalIn in4(IN4); MODSERIAL pc(TXD, RXD); // tx, rx timer0 down_timer; // Timer für Zeitsteuerung rs_485 RS485_BUS; // RS485 BUS monitor mon; void led_aus(void) { led1 = 1; led2 = 1; led3 = 1; led4 = 1; led5 = 1; led6 = 1; led7 = 1; out2 = 0; out3 = 0; out4 = 0; } uint8_t i = 1; int main() { pc.baud(115200); pc.printf("\nHello IOX.mini\n"); down_timer.SetCountdownTimer(1,1,500); // Timer für LED while(1) { mon.monPC(); // Eingaben abfragen und auswerten //RS485_BUS.execute(); // RS485 Bus //-------------------------------------------------------------------------- // LED für Statusanzeige if (down_timer.GetTimerStatus(1) == 0) { // RS485.printf("\n %02x",i); down_timer.SetCountdownTimer(1,1,50); // alle 500ms // pc.printf("\nLED #%d",i); switch (i) { case 1: i = 2; led_aus(); led1 = 0; break; case 2: i = 3; led_aus(); led2 = 0; break; case 3: i = 4; led_aus(); led3 = 0; break; case 4: i = 5; led_aus(); led4 = 0; break; case 5: i = 6; led_aus(); led5 = 0; break; case 6: i = 7; led_aus(); led6 = 0; break; case 7: i = 8; led_aus(); led7 = 0; break; case 8: // Die LED's sind mit den Ausgängen verbunden und werden mit 1 geschaltet i = 9; led_aus(); out2 = 1; break; case 9: i = 10; led_aus(); out3 = 1; break; case 10: i = 1; led_aus(); out4 = 1; break; } // end switch } // end if(down_timer } // end while(1) }