Forum: Mikrocontroller und Digitale Elektronik atmega2560 schaltet nicht alle Ausgänge


von Domi S. (sandi)


Lesenswert?

liebe yC Gemeinde,

unser Atmega 2560 8AU will durch irgend einen Grund nicht alle Ausgänge 
an einem Port schlaten. Wir rätseln nun seit ca 2 Tagen daran warum, 
aber keiner kommt auf eine vernünftige Lösung das auf dem Chip geladene 
Programm Funktioniert sonst einwandfrei, (es ist wirklich ein einfaches 
Programm) aber eben nur solange ich nur die ersten 4 Pins des Ports F 
verwende.
Wenn ich die restlichen 4 auch noch verwenden will bekomme ich an diesen 
einfach kein Signal raus.

Unser Messgerät zeigt an PORT F folgende Werte (wenn ich 0xFF also alle 
schalten will)

PF0: 4,87V
PF1: 4,87V
PF2: 4,86V
PF3: 4,87V
PF4: 191mV
PF5: 190mV
PF6: 192mV
PF7: 192mV

das geladene Programm:

.nolist
.include "m2560def.inc"
.list
;
;
loop:
  ;
  ldi r16,0xFF
  sts DDRH, r16
  out DDRF, r16
  sts DDRK, r16


  ldi r17, 0xFF
  ldi r18, 0x01
  ldi r19, 0x01
  sts PORTK, r19
  out PORTF, r17
  sts PORTH, r18
  rjmp loop

selbst wenn ich nichtfunktionierende Ausgänge einzeln ansteuere bekomme 
ich kein Signal(anstatt "ldi r17, 0xFF z.B. ldi r17, 0x10").

ich hoffe Ihr könnt uns hierbei weiter helfen und freue mich schon auf 
eine Antwort. Falls noch Fragen aufkommen beantworte ich sie gerne.

mfg Domi

von spess53 (Gast)


Lesenswert?

Hi

An PortF liegt das JTAG-Interface!

MfG Spess

von Domi S. (sandi)


Lesenswert?

damed
danke sprich wechsle den port und versuchs erneut ...
wieder am löten

von spess53 (Gast)


Lesenswert?

Hi

>damed
>danke sprich wechsle den port und versuchs erneut ...
>wieder am löten

Quatsch. JTAG einfach abschalten -> JTAG-Fuse.

MfG Spess

von Domi S. (sandi)


Lesenswert?

xD nur doof das ich keine ahnung habe von dem was ich da machen muss ... 
aber ja ich versuchs mal
mfg domi

von spess53 (Gast)


Lesenswert?

Hi

>xD nur doof das ich keine ahnung habe von dem was ich da machen muss ...
>aber ja ich versuchs mal
>mfg domi

Stimmt, das wirkt sich manchmal nachteilig aus. Welche Hard-/Software 
benutzt du?

MfG Spess

von Domi S. (sandi)


Lesenswert?

xD passt schon du hattest die lösung und ich hab sie umgesetzt und schon 
leuchten 512 rgb leds in blau =) nach fast 5 monaten arbeit funktioniert 
es endlich woooooohooooooo
jetzt muss es nur noch blinken und so

zurück zum thema avr studio 4 die neuste version *vor glück an der decke 
schweb*

daaaaaankkkeeeee

mfg Domi

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

spess53 schrieb:
> Quatsch. JTAG einfach abschalten -> JTAG-Fuse.

Genau, debuggen war schließlich gestern, heutzutage rätselt man
lieber, warum's nicht geht.

Sowas wie die JTAG-Pins sind doch das letzte, was man in einem Design
für generic IO ports belegen sollte.  Wenn man das schon wirklich
muss, dann legt man da irgendwas unwichtiges drauf (vielleicht ein
paar BlinkenLEDs), dann kann man das JTAG zur Laufzeit via JTD-Bit
abschalten und kann beim Debuggen trotzdem noch JTAG nehmen.

von Domi S. (sandi)


Lesenswert?

jetzt macht nur noch eine Reihe Probleme aber ich denke das liegt an ner 
Verbindung die nicht ganz sauber ist

mal nachschuen aber die indee mit dem jtag interface ... das wir da nich 
selber drauf gekommen sind ... neulinge halt mal wieder

=)

von spess53 (Gast)


Lesenswert?

Hi

>Sowas wie die JTAG-Pins sind doch das letzte, was man in einem Design
>für generic IO ports belegen sollte.  Wenn man das schon wirklich
>muss, dann legt man da irgendwas unwichtiges drauf (vielleicht ein
>paar BlinkenLEDs), dann kann man das JTAG zur Laufzeit via JTD-Bit
>abschalten und kann beim Debuggen trotzdem noch JTAG nehmen.

Schon richtig. Aber im Gegensatz zu anderen alternativen Portfunktionen 
ist JTAG von Haus aus aktiviert. Und das ist halt für Anfänger ganz 
leicht zu übersehen. Vor allem dann, wenn man kein JTAG benutzt.

MfG Spess

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
Noch kein Account? Hier anmelden.