HI ich habe gerade mit mikrocontroller angfangen. Nun programmieren und so läuft alles wunderbar, aber ich hab jetzt ein Programm geschrieben, bei dem über INT0 und INT1 2 Interrupts ausgelöst werden, INT0 erhöht einen Counter um 1, dann soll wenn INT1 ausgelöst die LED blinken, bis der Counter wieder bei 0 ist. nun nichts funzt und der mc wird verdammt HEIß. Ich habe die LED mit einem 1k Widerstand gegen VCC geschaltet. (wie im Tutorial am PORTB) und die beiden schalter an PortD ok schaut euch bitte mal meinen quellcode und sagt wenn ihr was findet schon mal danke!!!!
Ein at90s2313 ist kein Pentium. Den kriegst Du also nicht mit Software heiß. Du hast einen Hardwarefehler. Peter
"Ich habe die LED mit einem 1k Widerstand gegen VCC geschaltet. (wie im Tutorial am PORTB) und die beiden schalter an PortD nop brne zaehl2 ldi mp,0xff OUT PORTB,mp" Hallo, Wo genau hast Du denn die LED angeschlossen? Du schaltest immer einen ganzen Port und nicht ein einzelnes Bit ein. Wo genau die beiden Schalter? Außerdem: ldi temp,0b00000000 out DDRD,temp ;als eingang konfi ldi temp,0xFF ;out DDRB,temp PortB sollte noch als Ausgang konfiguriert werden. Kommentarzeichen weg. Zwei mal wird PortB auf FF gesetzt, aber nirgends zurück auf 00. blinken kann es also nicht.
OK LEUTE Habs hinbekommen so funtionierts anscheinend: hab jeweils 500 OHM zwischen schalter und Masse gelegt(sonst wie Tutorial) . Kann ein starker Strom zw. INT1 und INT0 fliessen??(ohne WIderstand) im Tutorial hab die ja nur 1k Ohm widerstand zw VCC und Port kann da nicht ein Strom fliessen ,wenn ich 2 Schalter hab die beide an masse liegen? (von Port -->Port) ansonsten danke erstmal für die Mühen :-)
Nö, also wenn der Port auf Eingang geschaltet ist, dann fließen da µA oder bestenfalls mA (mit eingeschalteten internen Pullups). Der Quellcode - naja - eigentlich läßt man keine Verzögerungsschleifen innerhalb von Interrupts laufen.
jeder taster hat doch einen eigenen pullup R ? deswegen doch keine port-pin-verkopplungen. so mach ichs: von vcc+5V ein R von 4k7 mit dem schalter in reihe nach masse.der portpin an die verbindung zwischen R und schalter (taster).(=ein spannungsteiler zw. vcc+masse, dessen massewiderstand der schalter ist,mittelpunkt des spteilers an portpin.) port als input konfigurieren,interne pullups abschalten. schalter geschlossen:null ohm nach masse="sauberes low". schon +1V kann als high zählen! schalter offen:der portpin "sieht" nach vcc+5V 4.7 kiloohm. also sind i=u/r 5V/ca.5k=1mA. da kann nix anbrennen! eleganter wärs die controller-internen pullups zu aktivieren und die schalter einfach nach masse zu schließen. wenn der port allerdings als out konf ist,irgendwie (ladebefehl?) pins hi sind und dann der schalter auf geschlossen steht, fließen mindestens 20mA oder mehr aus jedem portpin über den geschlossenen schalter nach masse (=kurzschluß). das kann schon etwas riechen. allgemein:wenns bei solchen low-power logikschaltungen beim anfassen weh tut oder es heiß riecht,sofort aus. meistens ist dann noch nichts dauerhaft abgebrannt. aus leidvoller erfahrung kann ich nur wärmstens empfehlen, bei input signalen !sauber! d.h. möglichst mit null ohm gegen masse zu schalten.schon ab ca. 2V zählt alles als hi. und:schon ein offener eingang zählt meistens als hi, wenn nicht als antenne...viel spaß beim fehlersuchen. ähnlich lustig wie "vergessene" 100nF C´s an jedem IC. naja,wenns läuft,so lassen,aber die "500 ohm zwischen masse und schalter" fand ich seltsam,hat vielleicht einen tieferen sinn.nundenn...
Passt zwar jetzt nicht wegen der Frage, aber ich hab auch gerade angefangen mit AT90S2313 zu arbeiten, bzw. "studiere" gerade die Datenblätter, ich möchte mir ein Car-System aufbauen und will den 2313 wie bei www.infracar.de aufbauen, leider können die mir die hex.codes nicht geben, ist auch verständlich, deshalb will ich das halt selbst versuchen, kann mir da jemand helfen die so zu flashen oder zu programmieren.
ok danke für die vielen hilfen is schon dämlich, kann avrs proggen aber schalter nicht richtig anschließen... nun dann wieder was gelernt nun möchte ich ein lcd ansteuern, aber mit einem 8515 mal gucken ob es klappt bis dann
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.