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