- 3D-Druck Einstieg und Tipps         
Seite 6 von 8 ErsteErste ... 45678 LetzteLetzte
Ergebnis 51 bis 60 von 79

Thema: Variablen über HyperTerminal angucken

  1. #51
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Anzeige

    Powerstation Test
    Hi,

    genau so. Eventuell mußt du noch eine Initialisierungsroutine für dein qfix Board aufrufen. Das sollte dann vor der Zeile

    uart_init();

    stehen.

    Zu den Fehlermeldungen:

    F_CPU ist die Prozessor Taktfrequenz. Den notwendigen Wert kann ich dir leider nicht sagen, da mußt du in der Qfix Board Doku nachsehen oder in einem anderen Beispielprojekt evtl. Den Wert schreibst du am besten in die erste Zeile von test.cc.

    #define F_CPU 8000000

    Das ist nur ein Beipiel, falls die Taktfrequenz 8MHz beträgt.

    Die Fehlermeldungen TIMSK, TIFR und TICIE1 kommen durch die Verwendung des can128 Prozessors. Diese AVR Register haben bei diesem Prozessor andere Namen. Die Namen weiß ich leider nicht auch nicht. Damit bin ich jetzt auch am Ende meines Wissens angelangt.

  2. #52
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Hallo
    Da ich glaube, dass die ganze Projektverwaltung mit Makefile zu schwierig für deinen Kenntnisstand ist, wird es dir auch nicht möglich sein die UART Bibliothek einzubinden.
    Ich versuche das zu ändern. Danke für den Link! Wie gesagt habe ich mich mit Makefiles und so bisher noch überhaupt nicht beschäftigt. [-(
    mfg palermo

  3. #53
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Hallo
    Die Fehlermeldungen TIMSK, TIFR und TICIE1 kommen durch die Verwendung des can128 Prozessors. Diese AVR Register haben bei diesem Prozessor andere Namen. Die Namen weiß ich leider nicht auch nicht.
    Naja, ich habe das andere board ja noch dann nehme ich das erstmal und Suche mir wenns klappt dann nochmal die Befehle für den can128 raus.
    Eventuell musst du noch eine Initialisierungsroutine für dein qfix Board aufrufen.
    Weiß ich jetzt nicht wie sowas aussieht muss ich mal ein bisschen suchen....
    Damit bin ich jetzt auch am Ende meines Wissens angelangt.
    OK, dann muss ich mal gucken, dass ichs alleine schaffe. Vielen Dank, dass du mir so stark geholfen hast. Das ist in jedem Fall eine sehr gute Grundlage ums alleine hin zu bekommen. \/
    mfg palermo

  4. #54
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Hallo
    Weißt du was wohl diese Fehlermeldungen bedeuten?
    Code:
    test.cc:9: error: expected primary-expression before '.' token
    test.cc:9: error: expected primary-expression before '.' token
    test.cc:9: error: expected primary-expression before '.' token
    test.cc:9: error: expected primary-expression before '.' token
    Sie beziehen sich alle auf diese Zeile:
    Code:
    static FILE mystdout = FDEV_SETUP_STREAM(uart_putc, NULL, _FDEV_SETUP_WRITE);
    mfg palermo

  5. #55
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,
    sieht so aus das deine WinAVR mit der Code Zeile nicht klarkommt. Ist wahrscheinlich eine ältere Version der avr-libc.


    Ersetze die Zeile

    Code:
    static FILE mystdout = FDEV_SETUP_STREAM(uart_putc, NULL, _FDEV_SETUP_WRITE);
    durch folgende Funktion:

    Code:
    /* puts ist unabhaengig vom Controllertyp */
    void uart_puts (char *s)
    {
        while (*s)
        {   /* so lange *s != '\0' also ungleich dem "String-Endezeichen" */
            uart_putc(*s, NULL);
            s++;
        }
    }
    und ersetze in der Main Funktion

    Code:
        printf("Hello World!\n");
    durch:

    Code:
        uart_puts("Hello World!\n");

  6. #56
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Hallo
    Ja jetzt stimmts nur meckert er jetzt:
    Code:
    > "c:\WinAVR\compile-mega32.bat" test
    compiling ...
    test.cc: In function `int main()':
    test.cc:24: error: `mystdout' was not declared in this scope
    test.cc:24: warning: unused variable 'mystdout'
    avr-objcopy: 'test.elf': No such file
    OK
    
    > Process Exit Code: 0
    > Time Taken: 00:01
    Zu dieser Zeile:
    Code:
        stdout = &mystdout;
    mfg palermo

  7. #57
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,
    ja die Zeile muß noch weg. Einfach loeschen.

  8. #58
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Hallo
    Jepp, jetzt gehts!
    mfg palermo

  9. #59
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Hallo
    Code:
    #define SUART_TXD_PORT PORTB 
    #define SUART_TXD_DDR  DDRB 
    #define SUART_TXD_BIT  PB1 
    #define F_CPU 8000000
    
    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <stdio.h>
    #include "uart.h"
    #include "uart.c"
    
    /* puts ist unabhaengig vom Controllertyp */ 
    void uart_puts (char *s) 
    { 
        while (*s) 
        {   /* so lange *s != '\0' also ungleich dem "String-Endezeichen" */ 
            uart_putc(*s, NULL); 
            s++; 
        } 
    } 
    
    int main(void)
    {
        /* initialisieren der UART */
        uart_init();
    
        /* printf... */
        uart_puts("Hello World!\n"); 
        /* endless loop */
        while(1)
        {};	    
        /* exit... (should never reached) */
        return 0;
    }
    Was ich bei den 4 #define eintragen muss ist so ein bisschen die Frage.
    #define F_CPU 8000000 ist irgendwie nicht rauszufinden wie viel der hat
    #define SUART_TXD_PORT PORTB hier den Port vom PC eintragen also com irgendwas?
    #define SUART_TXD_DDR DDRB ist das für die Baudrate?
    #define SUART_TXD_BIT PB1 ist der Pin am Atmega? Mal angenommen ich schließe die Platine an analog3 an welcher Pin wäre das dann?
    Schaltplan: http://zelos.zeit.de/wissen/robocup/...ollerboard.pdf Ich komme mit diesen dicken blauen Linien nicht klar.


    HyperTerminal:

    Wie viele bits pro Sekunde? 2400?
    Wie viele Datenbits? 8?
    Keine Parität?
    Ein Stopbit?
    Hardware Flussteuerung?



    mfg palermo

  10. #60
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    ja aus dem Schaltplan ist nicht genau zu erkennen welcher Port an welchen Prozessor Pin geht. Wenn du analog3 verwenden willst:

    #define SUART_TXD_PORT PORTA
    #define SUART_TXD_DDR DDRA
    #define SUART_TXD_BIT PA3

    Ohne die korrekte Prozessor Taktfrequenz stimmt die Baudrate nicht. Das heißt es wird nur Müll ausgegeben. Da es keinen externe Quarz gibt, läuft der Atmega32 mit internem Takt, d.h. mit 1,2,4, oder 8Mhz. Am bestens also ausprobieren.

    Hyperterminal:
    Baudrate ist 9600
    Datenbit 8
    keine Parity
    Stopbits 1
    keine Hardware Flusssteuerung

Seite 6 von 8 ErsteErste ... 45678 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test