Re: Nachtrag Kategorie: Programmierung (von krassos - 27.01.2006 15:09) | ||
Als Antwort auf Re: Nachtrag von Martin - 26.01.2006 18:10 | ||
| ||
> > > > Hallo > > > > > > > > Hab ein Reglerboard und neue Unit von CC Tools, es sollte also > > > > das neueste Betriebsystem geladen sein. > > > > Jetzt mein Problem. Ich leite den Hostmodus ein die LED am > > > > Board leuchtet und übertrage mit der IDE das Projekt. > > > > Statusmeldung der IDE â??Ã?bertrage Anwenderprogramm in die Unit > > > > 100 % fertigâ??. > > > > Im Variablenfenster können keine Werte angezeigt werden, am > > > > Display erscheinen alle Segmente als schwarze Balken . Nach > > > > unbestimmter Zeit 10 Sek. bis einige Minuten erlöschen Display > > > > und Host LED und der Summer ertönt. > > > > Im Variablenfenster müÃ?ten doch normalerweise Werte zu sehen > > > > sein ? > > > > > > > > Das war meine erste Hardwareerfahrung ich hoffe auf Hilfe. > > > > > > > > GruÃ? Martin > > > > > > > > > > Hallo > > > > > > Rbtest läuft das Problem lag am falschen AnschluÃ? einer > > > I2C Platine. > > > Allerdings war ich der wohl irrigen Meinung man könnte mit der > > > IDE online Variablen überwachen was den Programmtest > > > erheblich vereinfachen würde. > > > > > > Gibt es da irgend eine Möglichkeit. > > > > > > > Hallo Martin, > > > > ja es gibt sogar zwei: entweder Du gibst die zu überwachenden Variablen am Display aus, oder > > Du schiebst sie via hwcom zum PC. > > > > GruÃ? krassos > > Hallo Krassos > > Das mit dem Display leuchtet ein, aber Werte zum PC > schieben ist wohl die bessere Lösung. > Allerdings müÃ?test du mir genauer auseinandersetzen wohin > die Reise geht. > Wo am PC kann ich auswerten, wichtig ist daÃ? die Werte > aktualisiert werden, sind Probleme der Schnittstellenteilung mit > der IDE zu befürchten. > Könnte es sein daÃ? im Buch MSR für C-Control II etwas > passendes dabei ist ? > > Danke Martin > Hallo Martin, Du muÃ?t Dir einen Thread basteln, der nur für die Kommunikation via hwcom zuständig ist. Für den Anfang sendet dieser Thread stupide die gewünschten Daten über hwcom. Dazu definierst Du die zu überwachenden Variablen als Global. Der com-Thread steht als letzter in der Modulliste, hat also auf alle anderen Module Zugriff. PC-Seitig ist Hyperterminal eine gute, wenig aufwendige Lösung. mit Hyperterminal6.3 (Freeware) kannst Du Langzeitcaptures erstellen mittels Text aufzeichnen. Auswerten ist dann ganz leicht je nach Aufgabe mit Excel o.ä. möglich. Wie man das CC2-seitig macht ist ganz gut bei "serielle Schnittstellen" beschrieben. Besonders hervorzuheben dabei der Abschnitt "Steuerung über Modem". Hier mal ein Beispiel: (mit ansatz für Menüstruktur) /********************************************************************/ function subhead() { byte a; hwcom.put(12); for a =0 ... 34{hwcom.put(42);} hwcom.ret(); hwcom.print(" Solcom"); hwcom.ret();for a =0 ... 34{hwcom.put(42);} hwcom.ret(); } /********************************************************************/ /********************************************************************/ function mainmenu() {string text1,text2,text3,text4,text5,text6,text7,text8,text9,text10; text1="4--> MeÃ?adapter 1 kalibrieren";text2="2--> Solarpumpe"; text3="1--> DCF - Status";text4="q--> beenden"; text5="3--> Mischerdaten";text6="5--> MeÃ?adapter 3 kalibrieren"; text7="6--> MeÃ?adapter 4 kalibrieren";text8="MeÃ?adapter ";text9=" kalibrieren"; text10="--> "; subhead();hwcom.ret();hwcom.ret(); hwcom.print(text3);hwcom.ret();hwcom.ret(); hwcom.print(text2);hwcom.ret();hwcom.ret(); hwcom.print(text5);hwcom.ret();hwcom.ret(); hwcom.print(text1);hwcom.ret();hwcom.ret(); hwcom.print(text6);hwcom.ret();hwcom.ret(); hwcom.print(text7);hwcom.ret();hwcom.ret(); hwcom.print(text4);hwcom.ret();hwcom.ret(); } /********************************************************************/ function submain() {int second,rcv,x; mainmenu(); x=-1; while x { //subdate(); //if system.second()!=second { //subuhrzeit();second=system.second();} if hwcom.rxd() { rcv=hwcom.get(); if (rcv > 47) and (rcv < 58) //gültigkeitsbereich Taste 0...9 { if rcv == 53 {menüpunkt5();mainmenu();hwcom.ret();} //48=0 if rcv == 52 {menüpunkt4();mainmenu();hwcom.ret();} if rcv == 49 {menüpunkt1();mainmenu();hwcom.ret();} if rcv == 50 {menüpunkt2();mainmenu();hwcom.ret();} if rcv == 51 {menüpunkt3();mainmenu();hwcom.ret();} } if (rcv==81) or (rcv==113) {hwcom.clr();x=0;continue;} //Q oder q für quit hwcom.flush(); } } } //******************************************************************** thread main { byte rcv; hwcom.init(); hwcom.setspeed(8); hwcom.set_S0CON(hwcom.set8N1); sleep 50; //warten nach hwcom-init loop { wait hwcom.rxd(); rcv=hwcom.get(); if rcv==13 { submain(); hwcom.flush(); } hwcom.flush(); }} Diese Zeilen stehen als letzte im com-Modul. Ich denke, das sollte so funktionieren. Ich hab es aus einem Programm mal rauskopiert und die fehlenden Funktionen auskommentiert. GruÃ? krassos | ||
Antwort schreiben Antworten: Re: Nachtrag (von Martin - 28.01.2006 18:21) Re: Nachtrag (von krassos - 28.01.2006 19:49) |