- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: conio.h - Im neuen WinAVR gibs das anscheinend nicht

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    32
    Beiträge
    995

    conio.h - Im neuen WinAVR gibs das anscheinend nicht

    Anzeige

    Praxistest und DIY Projekte
    Hi,
    ich habe im Wiki über den printf befehl gelesen. Er funktioniert bei mir nicht. jetzt denke ich esw lieg daran das ich conio.h nicht einbinden konnte. Es gibt es nicht mehr. mit der Suchfunktion von windows fand ich es auch nicht.

    Woran kann der fehler liegen oder wo ist conio.h?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    37
    Beiträge
    674
    Von der Datei conio.h hab ich im Zusammenhang mit AVRs noch nie gehört. Die Funktion printf wird über die Headerdatei stdio.h zur Verfügung gestellt.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    32
    Beiträge
    995
    Im RN-Wiki ist das bei den Beispielen eingebunden.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    48
    Beiträge
    1.146
    Pascal hat Recht, für printf brauchst Du die stdio.h.
    Hier mal ein Code, der funktioniert. Die Werte für Taktfrequenz und Baudrate in Zeile 4 und 5 musst Du noch anpassen:

    Code:
    #include <io.h> 
    #include <stdio.h> 
    
    #define F_CPU        8000000       // z.B. 8 MHz Taktfrequenz 
    #define UART_BAUD_RATE      9600 // z.B. 9600 kb/s  
    #define UART_BAUD_SELECT    (F_CPU/(UART_BAUD_RATE*16l)-1) 
    
    int uart_putchar(char c) 
    { 
    
      if (c == '\n') 
        uart_putchar('\r'); 
      loop_until_bit_is_set(UCSR0A, UDRE); 
      UDR0 = c; 
      return 0; 
    } 
    
    void UartInit(void) 
      { 
      UCSRB = 0x08   //UART Transmitter aktivieren 
      UBRRL = UART_BAUD_SELECT;     //Baud Rate einstellen 
      } 
    
    
    int main (void) 
    { 
    
    UartInit(); //Schnittstelle initialisieren 
    fdevopen(uart_putchar, NULL, 0); 
    
    printf ("HelloWorld"); 
    
    }
    Im Wiki habe ich jetzt auf die schnelle keinen Artikel gefunden, in dem printf behandelt wird bzw. die conio.h eingebunden wird..... poste doch mal den Link...

    askazo

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    32
    Beiträge
    995
    Danke!
    Hier im normalen C tutorial: https://www.roboternetz.de/wissen/index.php/C-Tutorial
    Ich dachte das hat irgendwie zusammenhang mit den AVRs. In welche entwicklungsumgebung wird das dann gemacht?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    48
    Beiträge
    1.146
    Nein, das C-Tutorial bezieht sich wohl auf reines ANSI-C.
    Das wirst Du so bei allen Entwicklungsumgebungen finden, die Programme für PCs compilieren.

    Viel davon ist auch auf den AVR übertragbar, aber was die Header-Dateien und die Ausgaberoutinen angeht, ist's dann doch schon ein wenig unterschiedlich. Das fängt schon damit an, dass ein µC (erst mal) keinen Monitor und keine Tastatur und somit keine Standard-Ein- und Ausgabe-Geräte hat.

    Gruß,
    askazo

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Das C-Turorial aus dem Wiki ist nicht sonderlich zu empfehlen, es enthält noch sehr viele Fehler und ist unvollständig.

    Zu conio: Was soll denn auf einem Controller die Console sein und ein "Bildschirm-Lösch" bewirken?
    Disclaimer: none. Sue me.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    32
    Beiträge
    995
    Bildschirm-Lösch ist vielleicht den ganzen Text im Hyperterminal zu löschen, der über RS232 rein kam. So dachte ichs.
    das Conio für die console steht wusste ich nicht. Aber welche entwicklungsumgebung wird in diesem Tutorial verwendet? VisualC?

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2005
    Ort
    Tann / ZH
    Alter
    67
    Beiträge
    264
    C wurde für ursprünglich für Computer (Mainfraimes) entwickelt.
    Von C gibt es sehr viele Dialekte, aber auch bestimmte Normen.
    Eine Untermenge der Sprache C wird mit den C-Compilern für
    die uC ausgeliefert. So fehlt in der Regel eine dynamische Speicherverwaltung.Diese ist bei einem uC mit seinen Programmen die vor allem aus Code aber kaum aus vielen Daten bestehen auch nicht notwendig.
    Schau mal in der Dokumentation deines Compilers nach und vergleiche
    mit den verschiedenen ANSI Normen für C.
    MfG
    Ruedi

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    32
    Beiträge
    995
    ich glaub nicht das AVR-GCC alle normen beschreibt. Aber ich weiß noch immer nicht welchen Compiler ich dafür verwenden könnte!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress