- LiFePO4 Speicher Test         
Seite 5 von 6 ErsteErste ... 3456 LetzteLetzte
Ergebnis 41 bis 50 von 51

Thema: einige Fragen zu Grundlagen der C-Programmierung

  1. #41
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Anzeige

    Powerstation Test
    Es gibt da noch eine Möglichkeit, und zwar sollte man zuerst minicom starten,
    und erst dann den µC einschalten.
    Wenn man das genau anders herum macht, kommt natürlich nur Müll raus.

    Gruß Sebastian

  2. #42
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    Auch keine Änderung.
    So wie ich den Code vestehe sollte Minicom doch mit Zeichen überflutet werden oder? Es kommt aber rein garnichts von selbst an, nur komische Echos.

    Beim kompilieren stand sowas wie: "Mit der Uhr stimmt was nicht" usw. Kann es daran liegen?

  3. #43
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Mit der Uhr stimmt was nicht
    Und das auf deutsch ?
    mache mal make clear und make > log.txt
    und sende mal die log.txt
    Das verstehe ich auch nicht
    oder machmal cat /dev/ttyS0 und dann den µC einschalten,
    mal sehen was dann in die Konsole reinkommt,
    es kann doch nicht so schwer sein

    Gruß Sebastian

  4. #44
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    Code:
    Ja das merkt man: Krank wie viel Code man brauch um was über UART auszugeben. In Bascom hat print() gereicht
    C ist eher was für professionelle Programmierer. Wenn alles mit Bascom funktioniert was Du machen willst und Du nicht den Anspruch hast, Deine Kenntnisse zu erweitern, kannst Du einfach bei Bascom bleiben.

    Gruss,
    stochri

  5. #45
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    also hier ist log.txt:
    Code:
    set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=uart.lst uart.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > uart.d; \
    [ -s uart.d ] || rm -f uart.d
    set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=uart.lst uart.c \
    | sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > uart.d; \
    [ -s uart.d ] || rm -f uart.d
    -------- begin --------
    avr-gcc --version
    avr-gcc (GCC) 4.0.2
    Copyright (C) 2005 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=uart.lst uart.c -o uart.o
    avr-gcc -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=uart.o uart.o    --output uart.elf -Wl,-Map=uart.map,--cref -lm
    avr-objcopy -O ihex -R .eeprom uart.elf uart.hex
    avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
    --change-section-lma .eeprom=0 -O ihex uart.elf uart.eep
    avr-objdump -h -S uart.elf > uart.lss
    Size after:
    uart.elf  :
    section    size      addr
    .text       196         0
    .data         0   8388704
    .bss          0   8388704
    .noinit       0   8388704
    .eeprom       0   8454144
    .stab      1356         0
    .stabstr   1283         0
    Total      2835
    
    
    Errors: none
    -------- end --------
    In der Konsole steht aber trotz ">log.txt"das hier:
    Code:
    mathias@linux:~/uart> make > log.txt
    make: Warning: File `uart.c' has modification time 2,3e+04 s in the future
    make: Warning: File `uart.c' has modification time 2,3e+04 s in the future
    uart.c:42:3: warning: no newline at end of file
    make: Warnung: Mit der Uhr stimmt etwas nicht.
    Die Bearbeitung könnte unvollständig sein.
    Wenn ich minicom starte sendet er irgendwelche signale vom PC rüber. Die werden dann in der Konsole angezeigt. Man kann sie im minicom -s einstellen. Könnten die irgendwas damit zu tun haben?

  6. #46
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Ich denke ein "touch uart.c" sollte das Problem mit der Uhr beheben.
    uart.c:42:3: warning: no newline at end of file
    Da kannst Du am Programmende Enter drücken und speichern, wann ist es auch weg....
    Vergess ich immer wieder
    Es sind aber keine Fehler, das Programm müßte dann i.O sein...
    und was passiert mit "cat /dev/ttyS0" und dann µC starten?
    Was kommt in die Konsole rein ?

    Gruß Sebastian

    EDIT: Hast Du Deine Uhr falsch eingestellt? meine stimmt jedenfalls.....
    Auf jedem Fall komm ich aus der Zukunft

  7. #47
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    STOOOOP!
    Ich hab mir mal ein neues Kabel gebaut, dachte das alte wäre vielleicht kaput obwohl es von Außen gut aussah. Und tatsächlich: jetzt gehts es kommt immer "xy" + Zeilenumbruch ist doch richtig so oder?

  8. #48
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236


    Ja genau, so ist es richtig....

    Also doch Userfehler ...
    Jetzt kannst Du Dich ruhig der Programmiersprache C widmen, und Dich nicht mehr mit so nem Sch.... rumärgern.

    Gruß Sebastian

  9. #49
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.02.2005
    Beiträge
    385
    Ja, ich hab mir schon etwas sorgen gemacht: So viel Zeit nur um "HelloWorld" hinzubekommen
    Dann bin ich mal gespannt ob ich selber rausbekomme welche Register ich wie setzten muss damit das passiert was ich will

    Danke für die Geduld und die Code-Beispiele!
    mfg
    jagdfalke

  10. #50
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    48
    Beiträge
    1.146
    Noch mal was zu printf: Man kann sie doch benutzen. Man muss dem Compiler nur mit fdevopen() sagen, wie er die Ausgabe machen soll. die Routine zur Ausgabe eines einzelnen Zeichens muss man also selber schreiben, das zusammenstellen der Strings erledigt printf(). Folgender Code ist getestet und funktioniert:

    Code:
    #include <io.h>
    #include <stdio.h>
    
    #define F_CPU        8000000       // 8 MHz Taktfrequenz
    #define UART_BAUD_RATE      2400
    #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
    
      UBRRL = UART_BAUD_SELECT;	
    	
      }
    
    
    int main (void)
    {
    
    UartInit(); //Schnittstelle initialisieren 
    fdevopen(uart_putchar, NULL, 0); 
    
    printf ("HelloWorld");
    
    }
    Gruß,
    askazo

Seite 5 von 6 ErsteErste ... 3456 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test