www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik warning: value computed is not used


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hab hier ein kleines Problem auf ATMega32 mit WinAVR:
Ich berechne 2 Werte und der Compiler sagt:

../RemoteRC_TX.c:46: warning: value computed is not used
../RemoteRC_TX.c:51: warning: value computed is not used

ich habe den Code bereits auf das wesentliche heruntergebrochen:
(die variable um die es geht ist "*offset_channel1")
#ifndef F_CPU
#define F_CPU 16000000UL    // Systemtakt in Hz - Definition als unsigned long beachten >> Ohne ergeben Fehler in der Berechnung
#endif
#include <avr/io.h>
#include <util/delay.h>

static void get_settings(uint8_t *inv_channel1, int8_t *offset_channel1)
{
  static uint8_t mode=1;
  static uint8_t modechange = 0;

  // Auswahl Button abfragen
  if(PIND & (1<<PIND7))  {
    _delay_ms(150);
    mode++;
    modechange = 1;
    if(mode == 3)
      mode=1;
  }

  // Entsprechenden Menuepunkt anzeigen
  switch(mode)  {
  case 1:// invert Channel 1
    if(modechange == 1)  {
      modechange = 0;
    }
    // invertieren des ersten Kanals aktivieren / deaktivieren
    if((PIND & (1<<PIND2)) || (PIND & (1<<PIND3)))  {
      _delay_ms(150);
      if(*inv_channel1 == 0)  {
        *inv_channel1 = 1;
      }
      else if(*inv_channel1 == 1)  {
        *inv_channel1 = 0;
      }
    }
    break;

  case 2:// offset Channel 1
    if(modechange == 1)  {
      modechange = 0;
    }
    if(PIND & (1<<PIND2))  {
      _delay_ms(150);
      if(*offset_channel1 > -20)
        *offset_channel1--;
    }
    if(PIND & (1<<PIND3))  {
      _delay_ms(150);
      if(*offset_channel1 < 20)
        *offset_channel1++;
    }
    break;
  }
  return;
}

int main(void)
{
  uint32_t tmp = 10;
  uint16_t position_channel1;             // aktuelle Position Poti 1

  int8_t offset_channel1 = 0;             // Offset für Kanal 1
  uint8_t inv_channel1 = 0;               // Invertierungsflag für Kanal 1

  while(1)
  {
    /* Channel 1 Updatem*/
    position_channel1 = (uint16_t)((tmp*250)/10240) + 250 + offset_channel1;   // 250 ... 500 mitte 375
    // Channel 1 invertieren, falls eingestellt
    if(inv_channel1)
      position_channel1 = 750 - position_channel1;

    /* Einstellungen checken */
    get_settings(&inv_channel1, &offset_channel1);
  }
  return 0;
}

Weiß jemand was da los ist? Ich habe so langsam keine Idee mehr..

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
*offset_channel1--;
und
*offset_channel1++;

->

(*offset_chanel1)--;
und
(*offset_chanel1)++;

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schäm
Danke !!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.