Forum: Mikrocontroller und Digitale Elektronik Function declared implizit int Fehler bei sprintf unter XC8 mit PIC16F


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Andreas G. (beastyk)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

hab da ein unschönes Problem mit sprintf, vielleicht hätte ich auch 
etwas einbinden müssen...

Ich häng mal ne Datei vom compilieren dran und dann hier ein paar Zeilen 
vom Code.
void main(void) {
    
    char version;
    char buff[5];
    
  setupIO();
    setupSPI1();
  setupUART();
    init_MFRC522();
    
    //delay after Setup
    __delay_ms(20);
    
  while(1)
  {
      //Get the amount of data waiting in USART queue
      uint8_t n= USARTDataAvailable();

      //If we have some data
      if(n!=0)
      {
          //Read it
          char data=USARTReadData();
          //Use a Switch-Case Structure
          switch (data) {
             
              case '3': USARTWriteLine("MFRC522 Versionsnr.:");
                        version = readMFRC522(VersionReg);
Zeile 465               sprintf(buff, "%02X", version); //Hex vom  
                                                          RC522:0x91
                        //USARTWriteLine(buff);                       
                      break;
                        ]

Hab ich hier schon etwas falsch gemacht?

Als include hab ich stdint.h und xc.h eingebunden.

Gruß
Beast

von Peter II (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Andreas G. schrieb:
> Als include hab ich stdint.h und xc.h eingebunden.

sprintf ist aber in

#include <stdio.h>

von Andreas G. (beastyk)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin Peter und Konsorten,

also

Peter II schrieb:
> #include <stdio.h>

da hast du auffallend recht, mea culpa, mea maxima culpa!

Und mein Dank geht dann auch an dich, kaum hingeschrieben und schon hat 
er garnicht mehr gemeckert, ok, etwas schon, weil ich sprintf.c in der 
Source geparkt hatte.

ich hab mal ein Bildschirmfoto von meinem Lazarusprogramm drangehängt, 
siehe da, ich hab einen MFRC522-Clon, menno, nur 0x88h!

Weiß jemand ob der wie das Original funktioniert? UART mochte er das 
letzte Mal garnicht haben....!?!

Gruß
Beast

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.