Microcontroller Programmieren

Gast #6875867
Lesenswert?
• ▲
▼
Kann mir bitte jemand weiter helfen!!!

// Bibliotheken
#include "..\art\uart.h"
#include "..\lcd2\lcd2.h"
#include "util\delay.h"



   // Start Programm
   int main(void)
   {
   //variabeln definieren
   unsigned char z;
   unsigned char y;
   unsigned int wert[5];
   int temp; // Teil 2 Temp Variable
   int s;

   lcd_init();
  uart_init();
   uart_getc();


   //Temperaturen werden durch eine Eingabe eingelesen
   //for do while Schleife
      s = 15
      for ( z=1; z<5; z++ )
      {
         do
         {
            uart_puts("Geben Sie die ");
            uart_writeNumber(z, 0);
            uart_puts(". von 4 Temperaturen ein: ");
            _delay_ms(3000); // 3Sek Pause
            wert[z] = uart_geti();
            uart_puts("\033[2J"); //2.Zeile


         }
         // Ausgabe mit While Schleife machen
         //Solange Werte nur zwischen 15 und 200
         while (( wert[z] > 200 ) || ( wert[z] < 15));
      }

      //Wenn der 2. eingegebene Wert 170 aufweist,
      //soll eine zusätzliche Auswahl angezeigt werden
      if ( wert[2] == 170 )
      {
         s = 20;
         uart_puts("2 = Summe, 3 = Mittelwert, 1 = Keine Berechnung");
         temp = uart_geti();

         // die Eingaben mit Switch case auswerten
         switch (temp)
         {
            case '1':
               uart_puts("Keine Berechnung");
;                uart_puts("Stop");
                   uart_puts("\n\r"); // Programm neustart

                break;

            case '2':
                uart_puts("Geben sie die 1. Temperatur zwischen 1 und 
250 ein:") //Zahlen einlesen
                uart_puts("Geben sie die 2. Temperatur zwischen 1 und 
210 ein:")
                uart_puts("Geben sie die 3. Temperatur zwischen 1 und 
250 ein:")
                uart_puts("Geben sie die 4. Temperatur zwischen 1 und 
250 ein:")
                uart_puts("Geben sie die 5. Temperatur zwischen 1 und 
250 ein:")

               // Summe berechnen
               for(z=0; z<anzahl; z++) {
                summe +=wert[z];
               }

               uart_puts ("\nDie Summe ist %.2f\n", summe);

               uart_puts("\n\r(Druecken sie eine beliebige Taste um neu 
zu starten)\n\r");
         uart_puts("\n\r");

               break;

            case '3': ("Mittelwert");
               break;

           }


         // Programm weiterlaufen
        uart_puts("\n\r(Druecken sie eine beliebige Taste um neu zu 
starten)\n\r");
        uart_puts("\n\r");


      // Temperatur zwischen 150 und 180
      if (wert [z]= >150 || <180)

      {
         uart_puts("Wert gut")
      else {
      uart_puts("Alarm 25: die Temperatur mit "wert" ausser 
Sollbereich")
         }

      //Programm neustarten
       uart_puts("\n\r(Druecken sie eine beliebige Taste um neu zu 
starten)\n\r");
       uart_puts("\n\r");



  return 0;
}
Angehängte Dateien:
Gast
Lesenswert?
• ▲
▼
Sicherlich ...
aber der ein oder andere würde sich sicherlich darüber freuen wenn er 
nicht alles selbst durchkauen muss, sondern eine Rückmeldung hat was 
denn nicht funktioniert. Z.b. compiler error/linker error/Programm 
Fehlverhalten.

Z.b. scheint nach den function calls Zeile 63-67 schon mal das Semikolon 
zu fehlen am Ende der Anweisung.
Gast
Lesenswert?
• ▲
▼
So Werbepause ...
Zeile 96&98 fehlt auch das schließende Semikolon.

Um das ganze gehört denke ich zudem eine while(1){ dein Code } oder eine 
for(;;) { dein Code } Schleife.

Zeile 81: case '3': ("Mittelwert"); sieht mir mehr nach Notiz aus, das 
hier noch der Mittelwert berechnet werden soll. Compilieren sollte das 
so aber schon, wird halt nichts gemacht.

Mit dem Einwurf von Frank M. zusätzlich denke ich sollte ein ganz 
rudimentäres Grundgerüst stehen.

Eigentlich sollte man nicht mal in einer Werbepause seine Zeit auf eine 
solche Anfrage vergeuden. Ich hoffe es kommt wenigstens ein Danke, wenn 
es geholfen hat.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.