mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Warnmeldung "comparison between pointer and integer "


Autor: Bjoern B. (minkfeld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

kann mir wer sagen warum der folgende Code die obige Warnmeldung 
erzeugt?
void init_varis(void)
{  
  uc_8 i;

  i = input(SPL);
  i ^= 0xFF;
  //i = 3;
  extern ui_16 __bss_start;
  extern ui_16 __stack;
  uc_8 *ptr = (uc_8*)&__bss_start;

  while((ptr<(uc_8*)&__stack - i) &&(ptr <= 0x0370)){/*sub because of returning of subroutine*/
    *ptr++=0;
  }


Besten Dank!

Gruß,
Mink

Autor: sebba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi!

weil du eine "comparison between pointer and integer" machst

also einen vergleich zwischen einem pointer und einem integer

...
uc_8 *ptr = (uc_8*)&__bss_start;

  while((ptr<(uc_8*)&__stack - i) &&(ptr <= 0x0370))
...

ptr ist ganz offensichtlich ein pointer
und 0x0370 ist offensichtlich ein integer
und die vergleichst du...

war jetzt nicht so schwer oder?

mach ein

  while((ptr<(uc_8*)&__stack - i) &&(ptr <= ((uc_8*)0x0370)))

draus
(wenns wirklich das ist was du willst)

Autor: Bjoern B. (minkfeld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Prinzip will ich alle Speicherinhalte bis zur Adresse 0x370 mit dem 
Wert null beschreiben.

Wahrscheinlich gibt es da viel einfachere Möglichkeiten, vor allem da 
Stack Operationen in C ja grundsätzlich nicht so dolle sein sollen.

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.