Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Tastaturabfrage mit Berechnung Kategorie: Programmierung C (von Ehlers - 18.01.2010 12:41)
Als Antwort auf Re: Tastaturabfrage mit Berechnung von GEMINI1606 - 18.01.2010 12:14
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board
> > Hallo Kommune,
> > Ich bin fürchterlicher Neuling in der Programmierung  der Ccontrol pro Mega 128,
> > habe mir aber zum Ziel gesetzt meine Heizung mit diesem Teil zu steuern.
> > Das Prog-Teil zur Ã?berwachung und Regelung der einzelnen Heizkreise habe ich zum laufen gebracht.
> > Nun benötige ich noch eine Abfrage über die Folientastatur  um den Regelwert meiner Räume
> > in die Steuerung zu implementieren.
> > Dafür habe ich mir eine zweistellige Variable Ref ausgedacht.
> > In meinem kleinen Testprogramm gelingt es mir auch  die Variablen g_zehner und g_einer einzu-
> > lesen.
> > Wo es bei mir nur hängt ist die Beiden zu verknüpfen, sodass ich aus G_zehner =2 und g_einer =3
> > zum B. 23 in die Variable ref bekomme.
> >
> > Kann mir bitte einer der Experten helfen?
> >
> > Nicht lachen, dies ist das Testprogramm:
> >
> > void Tastenabfrage(void)
> > {
> >         do
> >      {
> >      if (count == 1)
> >      {
> >      label0:
> >      key_in=Key_Scan();
> >      if (key_in==0) goto label0;
> >      key_ch=Key_TranslateKey(key_in);
> >      AbsDelay(200);
> >      g_zehner=key_ch;
> >      a=g_zehner;
> >      LCD_CursorPos(0x45);
> >      LCD_WriteChar(g_zehner);
> >      key_in=0;
> >      }
> >      if (count == 2)
> >      {
> >      ref = 0;
> >      label1:
> >      key_in=Key_Scan();
> >      if (key_in==0) goto label1;
> >      key_ch=Key_TranslateKey(key_in);
> >      AbsDelay(200);
> >      g_einer=key_ch;
> >      LCD_CursorPos(0x45+1);
> >      LCD_WriteChar(g_einer);
> >     // ref =( g_zehner-48)*10+(g_einer-48); dies führt immer zu Fehlberechnungen !!!!!!!
> >      LCD_CursorPos(0x54);
> >      LCD_WriteChar(ref);
> >      key_in=0;
> >      }
> >
> >      count++;
> >      AbsDelay(200);
> >      if (count == 3)break;
> >
> >      }while(1);
>
> Hallo Ehlers,
>
> da du bereits ein Key_TranslateKey machst, müsste da nicht die Berrechnung so aussehen:
>
> ref =(g_zehner*10)+g_einer;
>
> kanns leider nicht testen, aber das sollte so gehen.
>
> GruÃ?
> GEMINI1606

Danke für die schnelle Antwort.
Funktioniert aber auch nicht, da in den Variablen bei z.B. 2 u. 6 dann einmal Dec 050 und Dec 054
steht und nach Berechnung in ref Dec 042 also der Asterix ausgegeben wird.
Kann man das überhaupt so berechnen? Oder sollte man das ganze mit apend zusammensetzen?
Wie gesagt ich bin kein erfahrener Proggi!
Danke u. GruÃ?


    Antwort schreiben


Antworten:

Re: Tastaturabfrage mit Berechnung (von KarlH - 18.01.2010 18:47)
    Re: Tastaturabfrage mit Berechnung (von Ehlers - 18.01.2010 23:01)
        Re: Tastaturabfrage mit Berechnung (von Ehlers - 19.01.2010 21:34)