michael hollegha
/
LineSensTest_B16
LineSensTest for Bertl16
Fork of B16Test4 by
Embed:
(wiki syntax)
Show/hide line numbers
LineSensTest_B16.cpp
00001 00002 #include "mbed.h" 00003 #include "Serial_HL.h" 00004 #include "Bertl16.h" 00005 00006 SerialBLK pc(USBTX, USBRX); 00007 SvProtocol ua0(&pc); 00008 00009 void CommandHandler(); 00010 00011 AnalogInHL2 ls1(P1_9), ls2(P0_23), ls3(P0_16), ls4(P0_15), ls5(P1_3); 00012 00013 int main(void) 00014 { 00015 // MainPow und LineSensor einschalten 00016 boardPow = 3; 00017 pc.format(8,SerialBLK::None,1); 00018 pc.baud(115200); // 115200 00019 ua0.SvMessage("LineSensTest_13"); // Meldung zum PC senden 00020 AllLedsOff(); 00021 00022 Timer stw; 00023 stw.start(); 00024 while(1) { 00025 CommandHandler(); 00026 if( (stw.read_ms()>10) ) { // 100Hz 00027 // dieser Teil wird mit 100Hz aufgerufen 00028 stw.reset(); 00029 if( ua0.acqON ) { 00030 // nur wenn vom PC aus das Senden eingeschaltet wurde 00031 // wird auch etwas gesendet 00032 ua0.WriteSvI16(1, ls1.Read()); 00033 ua0.WriteSvI16(2, ls2.Read()); 00034 ua0.WriteSvI16(3, ls3.Read()); 00035 ua0.WriteSvI16(4, ls4.Read()); 00036 ua0.WriteSvI16(5, ls5.Read()); 00037 } 00038 } 00039 } 00040 return 1; 00041 } 00042 00043 void CommandHandler() 00044 { 00045 uint8_t cmd; 00046 // Fragen ob �berhaupt etwas im RX-Reg steht 00047 if( !pc.IsDataAvail() ) 00048 return; 00049 // wenn etwas im RX-Reg steht 00050 // Kommando lesen 00051 cmd = ua0.GetCommand(); 00052 00053 if( cmd==2 ) { 00054 mL.SetPow2(ua0.ReadF()); mR.SetPow2(ua0.ReadF()); 00055 ua0.SvMessage("Set Pow"); 00056 } 00057 } 00058 00059 00060 00061 00062 00063 00064 00065 00066 00067 00068 00069 00070 00071 00072 00073 00074
Generated on Wed Jul 20 2022 16:06:08 by 1.7.2