- Labornetzteil AliExpress         
Seite 5 von 5 ErsteErste ... 345
Ergebnis 41 bis 48 von 48

Thema: Seltsames Problem

  1. #41
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Anzeige

    Praxistest und DIY Projekte
    @markusj Bei neueren Mega8 ist AVCC nicht mehr mit VCC verbunden, das war ein Layoutfehler der mittlerweile behoben ist.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  2. #42
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Zitat Zitat von Hubert.G Beitrag anzeigen
    @markusj Bei neueren Mega8 ist AVCC nicht mehr mit VCC verbunden, das war ein Layoutfehler der mittlerweile behoben ist.
    Danke für den Hinweis, das war mir neu. Weißt du zufällig, woher du diese Information hast? Im Datenblatt findet sich dazu nämlich keine Aussage.
    Tiny ASURO Library: Thread und sf.net Seite

  3. #43
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.04.2010
    Beiträge
    356
    Also ich kann jetzt einen Hardware Fehler definitiv und einfüralle mal ausschliesen.
    Ich habe mal mein Windows vorgekramt und das gleiche Programm in AVRStudio 5 erstellt, da geht es perfekt.
    Nur unter Linux macht es zicken.
    Ich kann mir aber nicht erklären warum es nicht am Compiler an kommen sollte, ich hab mitlerweile F_CPU direkt in der main.c definiert, vor allen includes natürlich.
    Keine veränderung.
    Ich kann mir das echt nicht mehr erklären.

  4. #44
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Da hält sich Atmel ziemlich bedeckt.
    Den Hinweis bekam ich im mikrocontroller.net in Zusammenhang mit Probleme bei einem Mega8A und Reset.
    Ich habe Mega8 da steht oben neben Atmel 0931G, bei denen ist der Schluss noch vorhanden, bei 1045 nicht mehr. Lässt sich leicht mit einem Ohmmeter überprüfen.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #45
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    Thalhammer: Ok, dann gehen wir das jetzt Mal ganz systematisch an. Zuerst einmal wird die IDE ausgenockt.

    Anbei dein Minimalcode, leicht modifiziert so dass anstelle der Makros direkt auf die Portregister zugegriffen wird, und ein Shellscript zum Bauen des ganzen. Beides abspeichern, Shellscript ausführbar machen und ausführen. Du kannst die Variable F_CPU im Skript variieren und kontrollieren ob sich dann das .hex-File und das .lss-File ändern. (Tun sie bei mir).

    main.c
    Code:
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main()
    {
        DDRB=0xFF;
        while(1)
        {
            _delay_ms(100);
            PORTB ^= (1 << PB0);
        }
    }
    build.sh
    Code:
    #!/bin/bash
    
    F_CPU=8000000UL
    
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 "-DF_CPU=$F_CPU" -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "main.c"
    avr-gcc -Wl,-Map,main.map -mmcu=atmega8 -o "main.elf"  ./main.o   
    avr-objdump -h -S main.elf > "main.lss"
    avr-objcopy -R .eeprom -O ihex main.elf  "main.hex"
    Tiny ASURO Library: Thread und sf.net Seite

  6. #46
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Eine Frage hätte ich da noch.
    Was verwendest du für eine Version von GCC.
    Es gab doch in älteren Versionen der AVR-Lib-C den Hinweis das _delay_ms() nur bis zu einem gewissen Wert funktioniert, abhängig von der Taktfrequenz.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  7. #47
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    37
    Beiträge
    1.225
    @Hubert: Nein, 4.5.3 laut #17
    Tiny ASURO Library: Thread und sf.net Seite

  8. #48
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Willst du es nicht verstehen oder kanst du nicht.
    ES IST VOLLKOMMEN EGAL WIE ICH F_CPU EINSTELLE!!!!!!!!!!
    Huch?

    Ich würde die Datei delay.h im util-Verzeichniss umbenennen. Der zu erwartende Kompilerfehler würde zeigen, dass wirklich diese Datei eingebunden wird. Oder hier mal 8MHz eintragen:

    #ifndef F_CPU
    /* prevent compiler error by supplying a default */
    # warning "F_CPU not defined for <util/delay.h>"
    # define F_CPU 1000000UL
    #endif
    [Edit]
    Echt spannend. Minimalprogramm:

    Code:
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
    	_delay_ms(100);
    	while(1);
    }
    mit 8MHz:
    Code:
       1               		.file	"temp.c"
       2               	__SREG__ = 0x3f
       3               	__SP_H__ = 0x3e
       4               	__SP_L__ = 0x3d
       5               	__CCP__  = 0x34
       6               	__tmp_reg__ = 0
       7               	__zero_reg__ = 1
      15               	.Ltext0:
      16               	.global	main
      18               	main:
      19               	.LFB6:
      20               	.LM1:
      21               	/* prologue: function */
      22               	/* frame size = 0 */
      23               	.LM2:
      24 0000 88EE      		ldi r24,lo8(1000)
      25 0002 93E0      		ldi r25,hi8(1000)
      26               	.LVL0:
      27               	.LBB12:
      28               	.LBB13:
      29               	.LBB14:
      30               	.LBB15:
      31               	.LM3:
      32 0004 28EC      		ldi r18,lo8(200)
      33 0006 30E0      		ldi r19,hi8(200)
      34               	.L2:
      35 0008 F901      		movw r30,r18
      36               	.LVL1:
      37               	/* #APP */
      38               	 ;  105 "c:/winavr/lib/gcc/../../avr/include/util/delay_basic.h" 1
      39 000a 3197      		1: sbiw r30,1
      40 000c 01F4      		brne 1b
      41               	 ;  0 "" 2
      42               	/* #NOAPP */
      43               	.LBE15:
      44               	.LBE14:
      45               	.LM4:
      46 000e 0197      		sbiw r24,1
      47               	.LM5:
      48 0010 01F4      		brne .L2
      49               	.L6:
      50 0012 00C0      		rjmp .L6
      51               	.LBE13:
      52               	.LBE12:
      53               	.LFE6:
      79               	.Letext0:
    mit 1MHz:
    Code:
       1               		.file	"temp.c"
       2               	__SREG__ = 0x3f
       3               	__SP_H__ = 0x3e
       4               	__SP_L__ = 0x3d
       5               	__CCP__  = 0x34
       6               	__tmp_reg__ = 0
       7               	__zero_reg__ = 1
      15               	.Ltext0:
      16               	.global	main
      18               	main:
      19               	.LFB6:
      20               	.LM1:
      21               	/* prologue: function */
      22               	/* frame size = 0 */
      23               	.LBB12:
      24               	.LBB13:
      25               	.LBB14:
      26               	.LBB15:
      27               	.LM2:
      28 0000 88EA      		ldi r24,lo8(25000)
      29 0002 91E6      		ldi r25,hi8(25000)
      30               	.LVL0:
      31               	/* #APP */
      32               	 ;  105 "c:/winavr/lib/gcc/../../avr/include/util/delay_basic.h" 1
      33 0004 0197      		1: sbiw r24,1
      34 0006 01F4      		brne 1b
      35               	 ;  0 "" 2
      36               	/* #NOAPP */
      37               	.L2:
      38 0008 00C0      		rjmp .L2
      39               	.LBE15:
      40               	.LBE14:
      41               	.LBE13:
      42               	.LBE12:
      43               	.LFE6:
      69               	.Letext0:
    Geändert von radbruch (10.10.2012 um 01:02 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Seite 5 von 5 ErsteErste ... 345

Ähnliche Themen

  1. Seltsames Problem bei Array; Werte wandern
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 05.07.2012, 23:11
  2. Seltsames Problem nach dem Flashen...
    Von Nix_Blicker im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 17.09.2008, 01:08
  3. Sehr sehr seltsames Problem
    Von Powell im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 23.05.2008, 21:32
  4. Antworten: 0
    Letzter Beitrag: 15.02.2008, 13:14
  5. Seltsames Problem (Erledigt)
    Von sledge77 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 13.12.2006, 00:19

Berechtigungen

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

LiFePO4 Speicher Test