PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATTiny2313 mit myAVR programmieren. ERLEDIGT - danke euch



hosti
21.07.2007, 12:18
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:



#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?

BT
21.07.2007, 12:28
hallo,

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

cu BT

hosti
21.07.2007, 12:45
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 :)

https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=1773

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?