Update vom 10.05.15
Dependencies: FreescaleIAP MODSERIAL mbed monitor timer0
Fork of 18_PT1000 by
Diff: main.cpp
- Revision:
- 10:84387eed15b5
- Parent:
- 9:28519e850e1c
- Child:
- 11:7bc691148135
--- a/main.cpp Fri Aug 08 16:02:54 2014 +0000 +++ b/main.cpp Mon Aug 18 08:27:08 2014 +0000 @@ -29,8 +29,9 @@ Serial pc(USBTX, USBRX); // tx, rx Serial com(PTC4, PTC3); Buffer <char> buf; // Ringbuffer für ankommende Zeichen -// DS2482 ow(PTE0,PTE1,0x30); // sda, scl, adr +// DS2482 ow(PTE0,PTE1,0x30); // sda, scl, adr +Timer t; // Zeitmessung für Entprellen //------------------------------------------------------------------------------ // Zuordnung von Eingängen und Ausgängen @@ -115,10 +116,16 @@ //------------------------------------------------------------------------------ // Interruptroutine wird bei jedem Tropfen aufgerufen - +// Pulse die in einem Abstand kleine 1ms sind werden nicht gezählt +// void tropfen_handler() { - tropfen_anz++; + if(t.read_us() > 1000) + { + tropfen_anz++; + } + t.reset(); + t.start(); } //------------------------------------------------------------------------------ @@ -191,6 +198,8 @@ esum = 0.0; tropfen.fall(&tropfen_handler); + t.reset(); + t.start(); //------------------------------------------------------------------------------ // RS232 Schnittstellt welche auf den CMSIS-DAP (USB Port) weitergeleitet wird @@ -312,13 +321,18 @@ { down_timer.SetCountdownTimer(1,2,tropfperiode); - tropfen_anz = 0; - - // mit einer 1 die Tropfen freigeben - if (~send_flag){ - com.putc('1'); // Tropfensteuerung freigeben - send_flag=true; // Flag zum Status der Tropfensteuerung - LED6 = 0; // Anzeige zum Status der Tropfensteuerung + //------------------------------------------- + // nur freigeben, wenn nicht über monitor gesperrt + if (f_flag) + { + tropfen_anz = 0; + + // mit einer 1 die Tropfen freigeben + if (~send_flag){ + com.putc('1'); // Tropfensteuerung freigeben + send_flag=true; // Flag zum Status der Tropfensteuerung + LED6 = 0; // Anzeige zum Status der Tropfensteuerung + } } }