michael hollegha
/
LineSensTest_B16
LineSensTest for Bertl16
Fork of B16Test4 by
Diff: LineSensTest_B16.cpp
- Revision:
- 1:a2c68aba6d98
- Child:
- 2:fffc57eb649f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LineSensTest_B16.cpp Wed Dec 27 12:15:27 2017 +0000 @@ -0,0 +1,68 @@ + +#include "mbed.h" +#include "Serial_HL.h" +#include "Bertl16.h" + +SerialBLK pc(USBTX, USBRX); +SvProtocol ua0(&pc); + +void CommandHandler(); + +AnalogInHL2 ls1(P1_9), ls2(P0_23), ls3(P0_16), ls4(P0_15), ls5(P1_3); + +int main(void) +{ + // MainPow und LineSensor einschalten + boardPow = 3; + pc.format(8,SerialBLK::None,1); pc.baud(115200); // 115200 + ua0.SvMessage("LineSensTest_5"); // Meldung zum PC senden + AllLedsOff(); + + Timer stw; stw.start(); + while(1) + { + CommandHandler(); + if( (stw.read_ms()>10) ) // 100Hz + { // dieser Teil wird mit 100Hz aufgerufen + stw.reset(); + if( ua0.acqON ) { + // nur wenn vom PC aus das Senden eingeschaltet wurde + // wird auch etwas gesendet + ua0.WriteSvI16(1, ls1.Read()); + ua0.WriteSvI16(2, ls2.Read()); + ua0.WriteSvI16(3, ls3.Read()); + ua0.WriteSvI16(4, ls4.Read()); + ua0.WriteSvI16(5, ls5.Read()); + } + } + } + return 1; +} + +void CommandHandler() +{ + uint8_t cmd; + // Fragen ob überhaupt etwas im RX-Reg steht + if( !pc.IsDataAvail() ) + return; + // wenn etwas im RX-Reg steht + // Kommando lesen + cmd = ua0.GetCommand(); +} + + + + + + + + + + + + + + + + +