Forum: Mikrocontroller und Digitale Elektronik Erklärung gesucht


von Santiago m. H. (mausschubser)


Lesenswert?

Hallo,

nachdem ich etwas suboptimale Erfahrungen (siehe 
Beitrag "Im Rausch der Geschwindigkeit läufts nimmer so rund") mit dem mega88 bei 
20 MHz gemacht habe, fing ich mit dem mega16 an zu testen.

War dann ganz erschrocken, dass der gleiche Code (zur LCD-Ansteuerung), 
der mit dem tiny2313 und dem mega88 funzt, beim mega16 überhaupt nix 
ausrichtet.
Das hat mir keine Ruhe gelassen und so habe ich alles auskommentiert bis 
auf "lcdInit()" - und selbst das hat nicht funktioniert.

Dann habe ich die einzelnen Ports durchprobiert und siehe da, auf allen 
Ports, außer auf Port C funktioniert der Code. Habe daraufhin die 
einzelnen Pins der Port-C-Stecker nochmals mit Durchgangsprüfer 
durchgemessen - kein Aussetzer.
Also Datenblatt genauer unter die Lupe genommen ...
Port C (low) wäre die TWI-Schnittstelle. Soweit ich das Datenblatt 
verstanden habe, muss man die aber einschalten (was ich nicht getan 
hatte).

Wenn mir jemand eine (halbwegs) logische Erklärung hätte, warum ich an 
Port C beim mega16 kein LCD (mit der 3-Pin Ansteuerung) anschließen 
kann, wäre ich sehr dankbar.

von crazy horse (Gast)


Lesenswert?

JTAG enabled (Auslieferungszustand)
Steht dann für andere Funktionen nicht zur Verfügung

von Santiago m. H. (mausschubser)


Lesenswert?

Hallo crazy horse,

dank Dir für die Erklärung. Da wäre ich von alleine nich drauf gekommen.
Puh!
Mussich also nochmal an die Fuses ran. Wenigstens ist es jetzt 
nachvollziehbar. Danke.

von Rahul D. (rahul)


Lesenswert?

>Da wäre ich von alleine nich drauf gekommen. Puh!

Ist ja auch nicht im Datenblatt unter Alternative Portfunction 
beschrieben...

von Katapulski (Gast)


Lesenswert?

>Ist ja auch nicht im Datenblatt unter Alternative Portfunction
>beschrieben...

Das mag schon sein, daß es irgendwo in den 351 Seiten steht. Allerdings 
steht nirgendwo, wie die Werkseinstellung ist. Das ist auch der Grund, 
warum jeden Tag ca. 500 neue Leute große Freude beim ersten Umgang mit 
Atmega16,32,644 haben. Ich behaupte: Die Wenigsten davon werden das 
JTAG-Interface je in Gang setzen.

gez. Katapulski

von Michael U. (amiga)


Lesenswert?

Hallo,

das Datenblätter ziemlich umfangreich sein können, steht außer Frage.
Wenn ich zu einem mir noch unbekannten IC greife, schaue ich mir 
zumindest die Übersicht an und das Blockschaltbild. Sind da für mich 
unbekannte Sachen aufgeführt, schau ich zumindest in diese Kapietel mal 
rein um zu entscheiden, ob die mich interessieren oder gar stören 
könnten.
Wenn ich mit einem bestimmten Port Probleme habe, lese ich mit 
Sicherheit dieses Kapietel komplett und möglichst genau durch.

Wenn ich mir die Fuses eines AVR anschaue (die lese ich immer ein und 
wenn es da Unbekanntes gibt, wird im Datenblatt vergleichen.

Und genau da hasse ich AVR-Studio, weil es die nicht übersichtlich 
anzeigen kann. Das gern verfluchte PonyPorg zeigt sie mit ihren Namen an 
und man kann sofort schauen, ob da was unbekanntes dabei ist und den 
Zweck ergründen und auch entscheiden, in welchem Zustand sie für die 
eigene Verwendung zu setzen sind. Atmel behält die Namen ja zumindest 
soweit bei, daß man nach wichtig/unwichtig mit wenig Aufwand sortieren 
kann.
So ist dann auch JTAG bekannt, die Stellung der CKSEL-Flags für esternen 
Quarz, die Bedeuting von CKOPT und CDIV8 als Beispiel.

Gruß aus Berlin
Michael

von Santiago m. H. (mausschubser)


Lesenswert?

Hallo Leuz,

sorry, wenn ich mit meiner Offenheit für Aufruhr gesorgt habe.

In der kurzen Zeit, in der ich mich jetzt mit den harten Sachen 
beschäftige, haben einige hundert Datenblätter den Weg auf meine Platte 
gefunden und jedes davon habe ich zumindest angelesen.

Bei der Flut von Information komme ich ohne selectives Kwerlesen nicht 
voran.

Als ich JTAG das erste Mal las, habe ich gegurgelt, was das heißen 
könnte und dann entschieden - zu schwer für mich - lasse ich (erstmal) 
außen vor.
Dementsprechend habe ich auch alle Kapitel, die sich mit JTAG 
beschäftigen, übersprungen.

Bislang waren alle HW-Module explizit einzuschalten und ich bin öfters 
in die Falle getreten, dass ich ein Modul zwar konfiguriert hatte, dann 
aber ein enable-Bit vergessen hatte.

Beim tiny2313 und mega88 sind die debugWire-Viehtscher im 
Auslieferungszustand nicht aktiv - deshalb brauchte ich mich auch nicht 
darum zu kümmern.
Genauso hielt ich es bislang auch mit den Fuses.

Was ich nicht kenne, wird nicht angefasst. Ansonsten verwende ich den 
Burn-O-mat, bzw. die Seite bei SF, wenn es z.B. beim Burn-O-Mat keine 
Erklärung gibt.

Insofern ...
... ich habe sicher viele Fehler, deshalb danke ich denen, die 
nachsichtig mit mir umgehen, umso mehr.

von Weingut P. (weinbauer)


Lesenswert?

es gibt aber auch ne Forumsuche ...
Suchbegriffe
"ATMega32 PortC"

von Jörg X. (Gast)


Lesenswert?

Und weil sonst noch niemand das problem hatte (ha ha), gibt's diesen 
Artikel: http://www.mikrocontroller.net/articles/AVR_Checkliste (falls 
du noch mehr Probleme mit Sachen bekommst, die nicht im Datenblatt 
stehen (wieder: haha)

von Paul Baumann (Gast)


Lesenswert?

>Beim tiny2313 und mega88 sind die debugWire-Viehtscher....

Ja diese Viehtschers sind schon besondere HAI-LEIDS! :-))


MfG Paul

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.