Hallo an alle.
Ich wollte mit dem Atmega16 eine Binäruhr bauen. Ich wollte die
Schaltung testen und einige LEDs gingen nicht.
Nachdem ich am Mikrocontroller die Ausgangsspannung gemessen hatte
musste ich feststellen, dass an den Ports PC2, PC3, PC4, PC5 keine oder
eine sehr geringe Spannung anliegt, obwohl ich sie im Programm
angeschaltet habe.
Da ich noch einige Pins am µC frei hatte, habe ich mir gedacht, dass ich
einfach andere Pins nutze.
Ich wollte PB3, PB4, PB5 und PB6 nutzen doch auch dort keine/zu wenig
Spannung.
Ich habe schon an 2 Mikrocontrollern gemessen. Bei beiden das selbe.
Was kann der Fehler sein?
> Da ich noch einige Pins am µC frei hatte, habe ich mir gedacht,> dass ich einfach andere Pins nutze. Ich wollte PB3, PB4, PB5 und> PB6 nutzen doch auch dort keine/zu wenig Spannung.
Das sollte allerdings nicht sein.
Programm?
(Ins blaue geraten: Du hast die Pins nicht auf Ausgang geschaltet)
Naja das steht immer im Datenblatt des µC und mit einem ISP Programmer,
kann man die Fuse-Bits dann auch ändern.
Zum anderen auch per Programm zur Laufzeit ausschalten --> Datenblatt.
Ich nutze gerne dieses Tool: http://www.engbedded.com/fusecalc/
mb schrieb:> Wie kann ich das JTAG abschalten? Ich nutze BASCOM.> In dem verlinktem Artikel habe ich nichts dazu gefunden.
Ins Datenblatt schaun und nach JTD suchen. Das Deaktivieren von JTAG
geht auch in Software (auch unter Bascom!), man muss sich dazu nicht an
den Fuses vergreifen.
...
Hannes Lux schrieb:> mb schrieb:>> Wie kann ich das JTAG abschalten? Ich nutze BASCOM.>> In dem verlinktem Artikel habe ich nichts dazu gefunden.>> Ins Datenblatt schaun und nach JTD suchen. Das Deaktivieren von JTAG> geht auch in Software (auch unter Bascom!), man muss sich dazu nicht an> den Fuses vergreifen.
Wobei JTAGEN harmlos ist.
Im Brennprogramm die Fuses einlesen, JTAGEN in die andere Stellung
schalten und vom Brennprogramm schreiben lassen.
Solange du den Zyklus Einlesen-Ändern-Schreiben einhältst, kann
zumindest bei dieser Fuse nichts passieren.
Hannes Lux schrieb:> Das Deaktivieren von JTAG> geht auch in Software (auch unter Bascom!), man muss sich dazu nicht an> den Fuses vergreifen.
Was muss ich dazu in Bascom schreiben?
Karl Heinz Buchegger schrieb:> Wobei JTAGEN harmlos ist.> Im Brennprogramm die Fuses einlesen, JTAGEN in die andere Stellung> schalten und vom Brennprogramm schreiben lassen.
Meinst du mit Brennprogramm PonyProg?
Welche Methode ist die bessere? In Bascom oder über das 'Brennprogramm'?
mb schrieb:> Meinst du mit Brennprogramm PonyProg?
Wenn das das Brennprogramm ist, das du benutzt ... ja, warum nicht.
Wie überträgst du denn dein Programm in den µC?
Das ist dein Brennprogramm. Und dieses Brennprogramm hat eine
Möglichkeit die Fuses vom µC auszulesen und auch wieder zu schreiben.
Das Brennprogramm, welches mit BASCOM mitkommt, kann das
selbstverständlich auch tun.
> Welche Methode ist die bessere? In Bascom oder über das 'Brennprogramm'?
In deinem Fall würde ich die Fuses wählen.
Aus dem ganz einfachen Grund, dass du, solange du keinen JTAG-Programmer
hast, das JTAG nie brauchen wirst. Es kommt dir aber bei jedem neuen
Programm, welches du schreibst in die Quere, wenn du es nicht ein für
allemal abschaltest. Und das geht nur mit den Fuses.
Deine Alternativen sind also:
Per BASCOM bei JEDEM Programm, welches du schreibst abschalten (und wenn
du darauf vergisst bedeutet das erst mal Fehler suchen, bis du dich
daran erinnerst).
Oder eben einmalig per Fuse abschalten und danach ist das Thema für
diesen µC für dich gegessen und du brauchst dich in weiterer Folge bei
den nächsten Programmen nicht mehr darum kümmern.
Die Frage ist also nicht, was ist generell besser, denn wenn es
abgeschaltet ist (egal wie), ist es abgeschaltet. Die Frage ist,
brauchst du es jemals oder ist es etwas, was dir die nächsten 5 Jahre
Prügel zwischen die Beine wirft, wenn du darauf vergisst.
Und NB: Irgendwann musst du sowieso an die Fuses ran. Das bleibt dir
nicht erspart.
Karl Heinz Buchegger schrieb:> Die Frage ist,> brauchst du es jemals oder ist es etwas, was dir die nächsten 5 Jahre> Prügel zwischen die Beine wirft, wenn du darauf vergisst.
Ich glaube, ich brauche es die nächsten 5 Jahre eher nicht.
Wie kann ich es in PonyProg abschalten?
mb schrieb:> Ich wollte PB3, PB4, PB5 und PB6 nutzen doch auch dort keine/zu wenig> Spannung.
Da bleibt immer noch die Frage, warum es bei Port B nicht geht.
Also doch:
- Schaltung zeigen
- Programm zeigen
Gruß Dietrich
mb schrieb:> Karl Heinz Buchegger schrieb:>> Die Frage ist,>> brauchst du es jemals oder ist es etwas, was dir die nächsten 5 Jahre>> Prügel zwischen die Beine wirft, wenn du darauf vergisst.>> Ich glaube, ich brauche es die nächsten 5 Jahre eher nicht.> Wie kann ich es in PonyProg abschalten?
Welchen Teil von
Fuses einlesen
JTAGEN umstellen
Fuses brennen
hast du nicht verstanden?
Ein wenig in Eigenregie in den Menüpunkten deines Brenn-Programms zu
stöbern hat noch nie jemanden geschadet. Alles was in den Menüpunkten
nicht nach Schreiben klingt ist erst mal harmlos. Bei allem was nach
'Write' also 'Schreiben' klingt, stell erst mal sicher, dass du so
einigermassen weißt, was du tust, ehe du draufklickst.
Und bei allen Menüpunkten, deren Text mit "..." endet, kannst du sowieso
recht bedenklos erst mal die Auswahl treffen, weil die 3 Punkte dir
sagen, dass da vom Programm sowieso noch was kommt. Meistens geht dann
erst mal ein Dialog auf, in dem das Programm noch weiteres wissen will
oder sonstiges präsentiert, ehe dann die eigentliche Aktion gemacht
wird.
Ach ja.
Ob das jetzt im Pony 'Fuse' heißt oder irgendwie anders, weiß ich nicht
mehr. Ist schon zu lange her.
Aber soviele Möglichkeiten gibts ja eh nicht, was man vom µC auslesen
lassen kann. Du findest das schon. WEnn ein Dialog aufgeht, in dem ein
Haufen Checkboxen sind, von denen eine mit JTAGEN beschriftet ist, dann
bist du richtig. Auslesen lassen - Ändern - Schreiben lassen.
Uwe schrieb:> Alle VCC und GND Pins angeschlossen (JA AUCH AVCC und AGND) !?
Ja habe ich.
Karl Heinz Buchegger schrieb:> Ein wenig in Eigenregie in den Menüpunkten deines Brenn-Programms zu> stöbern hat noch nie jemanden geschadet.
Dann werde ich jetzt mal schauen.
Es funktioniert jetzt. Vielen Dank!!
Ich habe in PonyProg bei Command > Security and Configuration Bits den
Hacken bei JTAGEN entfernt und alles funktioniert.