ATmega8 Problem... Geht nach ein paar mal proggen nimma
Hallo,
Ich habe ein echt merkwürdiges Problem!
Ich habe mir einen Programmer gebaut, an welchen man vier
Controller programmieren kann....
Man kann diese per Knopfdruck über Multiplexer durchschalten.
Dazu sitzt ein ATmega8 drauf.
Der muss lediglich zwei Leitungen binär von 0-3 ausgeben (für die Multiplexer)
und vier LEDs schalten.
Und einen Taster als Eingang.
Das Ganze habe ich so geschrieben:
Code:
// -=> AVR Includes <=-
#include <avr/io.h>
int main (void){
DDRC = 0b00111100;
DDRD = 0b00011000;
PORTD |= (1<<PD2)|(1<<PD5);
uint8_t channel = 0;
uint8_t flag = 0;
uint8_t prell = 0;
// -=> Hauptschleife <=-
while(1){
if(bit_is_clear (PIND, PIND2)){
if( (!prell) && (!flag) ){ channel++; flag = 1; }else{ prell--; }
}else{
prell = 255;
flag = 0;
}
if( channel > 3 ){ channel = 0;}
switch(channel){
case 0: PORTC = ( PORTC & ~0x3C) | (0x04 & 0x3C); PORTD = ( PORTD & ~0x18 )|(0x00 & 0x18); break;
case 1: PORTC = ( PORTC & ~0x3C) | (0x08 & 0x3C); PORTD = ( PORTD & ~0x18 )|(0x08 & 0x18); break;
case 2: PORTC = ( PORTC & ~0x3C) | (0x10 & 0x3C); PORTD = ( PORTD & ~0x18 )|(0x10 & 0x18); break;
case 3: PORTC = ( PORTC & ~0x3C) | (0x20 & 0x3C); PORTD = ( PORTD & ~0x18 )|(0x18 & 0x18); break;
}
}
}
Lade ich das Programm, ist der Controller weg!
Er lässt sich nicht mehr ansprechen.
An den FUSES wurde nichts geändert. NUR geflasht!
Als ich das erste mal geflacht habe, war es das selbe Programm, nur ohne den "if(bit..." Teil. Lade ich diese, so kann man nichts mehr machen...
Controller hinüber sozusagen...
Ich flashe sonst immer ATmega32 und 128... da gabs nie sowas.
Mit dem ATmega8 stell ich mich immer so blöd an anscheinend!
Der mag mich einfach nicht hab ich das Gefühl.
Ich kann mir das nicht erklären. Ich hab ihn jetzt schon das dritte mal gewechselt. Und immerwieder kommt das Problem!
Ich hoffe Ihr könnt mir helfen.. Ich zweifle schön langsam an meinem Verstand! DAS GIBDS DOCH NICHT ODER? ](*,)
Und schön langsam geht es auch ins Geld ;-)
Bild hier
Re: ATmega8 Problem... Geht nach ein paar mal proggen nimma
Zitat:
Zitat von Kaiser-F
Lade ich das Programm, ist der Controller weg!
Er lässt sich nicht mehr ansprechen.
An den FUSES wurde nichts geändert. NUR geflasht!
Als ich das erste mal geflacht habe, war es das selbe Programm, nur ohne den "if(bit..." Teil. Lade ich diese, so kann man nichts mehr machen...
Controller hinüber sozusagen...
Mal abgesehen davon, das du den Chip niht mehr ansprechen kannst, funktioniert die Software wenigstens ??
AtMega88 läuft Atmega8 noch nicht
@Kaiser-F Vielen dank für die Antwort
Habe meinen alten Progger vernichtet und zwischenzeitlich den Progger von
kreatives-chaos.com (Schaltung fast wie oben von Kaiser-F) gebaut, und gleich die Experimentierplatiene für den Mega8-48-88-168.
Da ich vom Bügeleisen auf einen Lami umgestiegen bin, hatte ich zu langes Timing, und musste noch Brücken entfernen, aber der Mega88 wird von BASCOM sofort erkannt. Zuerst machte der Progger noch Probleme, MOSI ging nur bis zum HC244. Hab dann mit Farbverdünner die Flussmittelreste entfernt und auch den 74hc244 nochmal aus dem Sockel gehoben und neu eingesetzt. Dann lief's.
Ohne Oszilloskop würde ich wohl immer noch suchen, wo der Fehler liegt.
Grüsse aus Tirol
Toni