- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 3 von 3

Thema: ATTiny2313 mit myAVR programmieren. ERLEDIGT - danke euch

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.05.2004
    Alter
    38
    Beiträge
    388

    ATTiny2313 mit myAVR programmieren. ERLEDIGT - danke euch

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    da mein Prog entlich funktioniert bin ich dabei es auf meinen ATtiny zu schreiben.
    Leider klappt das nicht da. ich kriege folgende fehlermeldung:
    compilieren ... linken ... Hinweis: die angegebenen Einstellungen zur Verbindung sind nicht korrekt. Suche automatisch: gefunden.
    brennen ...
    Programmiermodus gestartet
    schreibe 486 Bytes in Flash-Memory ...
    Fehler: beim Überprüfen der geschriebenen Daten.
    Erste Abweichung bei Byte 0 , '0x12' != '0xFF'
    Fehler: beim Brennen des HEX-Files.
    Mein Code sieht so aus:

    Code:
    #include <avr/io.h>
    #include <inttypes.h>
    #include <avr/interrupt.h>
    
    #define F_CPU 3686400
    #define timer (256-F_CPU/64/1000) 
    
    #define RotH PORTB0
    #define RotV PORTB1
    #define BlauV PORTB2
    
    int ms; 
    
    void initPorts()
    {
    	DDRB |= (1<<PB0) | (1<<PB1) | (1<<PB2);
    }
    
    ISR(TIMER0_OVF_vect)                                 					//Timer Interrupt Vector 
    {
    	TCNT0 = timer; 
    	ms++; 
    }
    
    int main(void)
    {
    
    	initPorts();														// Timer Interrupt initialisieren
    	TIMSK |= (1<<TOIE0);   
    	TCCR0A=0x05;															// 0b00000011, Vorteiler 1024 ca. 4khz
    	sei();                  											// enable interrupts
    
    	do 
    	{
    
    		if(ms <= 1)
    		{
    			PORTB &= ~( (1<<RotH) |	(1<<RotV) | (1<<BlauV));									//PORTB Pins 0,1,2 auf low
    		}
    
    		if(ms >= 5& ms <= 100)
    		{
    			PORTB |= (1<<RotV);		
    		}
    
    		if(ms >= 100& ms <= 210)
    		{
    			PORTB |= (1<<RotH);
    		}
    
    		if(ms >= 210& ms <= 400 )
    		{
    			PORTB |= (1<<BlauV);
    			PORTB &= ~(1<<RotV);
    		}
    
    		if(ms >= 600)
    		{
    			ms = 0;
    		}
    
    	}
    	while (true);   
    
    }
    Ich habe meinen Tiny wie folgt mit dem Programmer verbunden.

    VCC - klar
    GND - klar
    PB7 (SCL) - SCK
    PB6 (MISO) - MISO
    PB7 (MOSI) - MOSI

    Das ganze mache ich über myAVR Workpad. Dort habe ich als Prozessor den Attiny2313 gewählt.


    Habe ich irgend etwas vergessen? einen Pin zu wenig verbunden?

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.07.2005
    Beiträge
    127
    hallo,

    also beim ersten drübergucken würde ich sagen verbinde auf jedenfall RESET ohne den geht ISP überhaupt nicht

    cu BT

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    02.05.2004
    Alter
    38
    Beiträge
    388
    oh.... ok den hab ich nicht verbunden..

    Wieso habe ich eigentlich auf dem ISP zwei mal GND?
    Hat jetzt geklappt mit dem programmieren.
    Funktionieren tuts aber nicht

    Bild hier  

    Das ist der wichtige Teil meiner Schaltung. Hab ich darauf einen fehler?
    Es passiert irgendwie nix... aber Spannung messe ich über den Led's... nur etwas komische. Anstelle des PIC muss man sich einfach einen ATTiny2313 vorstellen
    Ich habe nun einmal den Tiny abgezogen und auf die Ausgangspins direkt VCC gelegt. das funktioniert einwandfrei. Doch ein Programmierproblem?

Berechtigungen

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

LiFePO4 Speicher Test