mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mega8 Port "C" tot


Autor: bierschinken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich habe das Problem, dass auf meinem mega8 der komplette PORT C 
(bzw das was davon am mega8 exisiert und nicht anderweitig besetzt ist) 
nicht als Ausgang schalten lässt. Ursprünglich wollte ich ein TWI darauf 
realisieren, als das nicht ging hab ich mal versucht an den Ports LEDs 
blinken zu lassen, ohne Erfolg..........auf Port B und D funktioniert es

jemand ne Idee woran das liegt?

Konfiguration sieht folgendermaßen aus:
-Pollin-Board
-ISP-Programmmer
-Codevision AVR


Den ursprünglichen Thread zum TWI findet ihr hier:
Beitrag "Master/Slave TWI von mega32 auf mega8 kopieren"

Autor: leberwurst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in Zeile 42 wird der selbstzerstörende undokumentierte Befehl
"DP <port>" ausgeführt. DP = Destroy Port...
Er wurde auf Anweisung des Pentagons implementiert.

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JTAG ausgeschaltet ?

Autor: bierschinken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte was? ;-) Ich kann damit leider nur begrenzt was anfangen....gehts 
nen bisschen genauer?!

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat der Hersteller schon gemacht ;-)

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Mega8 hat keinen JTAG, also kann er den schlecht ausschalten.

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist die Adresse des Daten-Richtungsregisters (0x14 )falsch 
eingegeben ?

Außerdem bekommt portc sein VCC über den Anschluss AVCC, soweit ich 
weiß.
Ist also auch an AVCC Spannung angelegt ?

Autor: me (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Naja ich bin im Moment mit meinem Latein am Ende, bleibt mir nur noch
Y den Code hier zu posten.......ich wäre sehr dankbar wenn mal jemand
Y drüber schaut.....

Dann mach das endlich!

Autor: bierschinken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter R. schrieb:
> Vielleicht ist die Adresse des Daten-Richtungsregisters (0x14 )falsch
> eingegeben ?
>
> Außerdem bekommt portc sein VCC über den Anschluss AVCC, soweit ich
> weiß.
> Ist also auch an AVCC Spannung angelegt ?

Also spannung am AVCC ist vorhanden, was du mit DDR meinst verstehe ich 
nicht ganz

DDRC=0x7F ist in der Initialisierung mit drin.


Mit der Aussage von "me" kann ich leider relativ wenig anfangen, würde 
mich aber über weitere Anregungen freuen...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bierschinken schrieb:
> ... was du mit DDR meinst verstehe ich nicht ganz

Klarer Fall: das Tutorial wäre hilfreich. Für alle Beteiligten.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> bierschinken schrieb:
>> ... was du mit DDR meinst verstehe ich nicht ganz
>
> Klarer Fall: das Tutorial wäre hilfreich. Für alle Beteiligten.

Na ja.
Es ist der übliche Codevision Code
Beitrag "Master/Slave TWI von mega32 auf mega8 kopieren"
voll mit Binär bzw Hex Konstanten und ich denke mal die wenigsten haben 
Lust, dieses unleserliche Konglomerat auseinanderzudividieren und mit 
dem Datenblatt auf den Knien jede einzelne Registerzuweisung zu 
überprüfen.

Und wenn ich sowas sehe:
//Defintion for TWCR (Control Register)
#define TWINT 7         //TWI Interrupt Flag
#define TWEA 6          //TWI Enable Acknowledge Bit
#define TWSTA 5         //TWI START Condition Bit
#define TWSTO 4         //TWI STOP Condition Bit
#define TWWC 3          //TWI Write Collision Flag
#define TWEN 2          //TWI Enable Bit
#define TWIE 0          //TWI Interrupt Enable
dann schrillen bei mir sowieso alle Alarmglocken mich da rauszuhalten. 
Das ist viel Analyse-Arbeit für meistens einen kleinen Fehler

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mal in den Code reingeschaut. ... also den tu ich mir nicht an.

DDRC ist das Daten-Richtungsregister des Port C. Eine Eins in diesem 
Register macht jeweils das zugehörige Bit zum Ausgang.

Zwar ist anfangs DDRC = 7F definiert aber irgendwo im Code wird sicher 
eine Null daraus und dann ists halt aus mit LED-sehen.

Denn als Eingang geschaltet sind Port-Leitungen so hochohmig, dass eine 
LED nicht sichtbar darauf reagiert.

Programmiere doch eine ganz einfache Schleife in den Kontroller, in dem 
PortC getoggelt wird und hänge eine LED dran. Dann zeigt sich gleich, ob 
es das Port tut oder nicht und der Hardware-teil ist geklärt.

Ein Hardware-Defekt bei dem ein ganzes Port plötzlich nix tut und die 
anderen Ports einwandfrei sind ist so gut wie ausgeschlossen. Der Bug 
steckt sicher in der Software.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Na ja.
> Es ist der übliche Codevision Code
> Beitrag "Master/Slave TWI von mega32 auf mega8 kopieren"
> voll mit Binär bzw Hex Konstanten und ich denke mal die
> wenigsten haben...

Soweit denke ich gar nicht nach;  wenn die Bedeutung von
DDR nicht klar ist, fehlt es doch an elementarsten Grundlagen.

Autor: bierschinken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> Soweit denke ich gar nicht nach;  wenn die Bedeutung von
> DDR nicht klar ist, fehlt es doch an elementarsten Grundlagen.

Was ddrc bedeutet ist mir durchaus. Ich hab nur nicht verstanden was 
Peter R mit "(0x14)" sagen wollte...naja danke trotzdem an Peter.


Ich hab den Fehler (zumindest den unmittelbaren;-) gefunden....leider 
sind auf dem Pollin-Board die I/O-Pins des mega8 von PORTC nicht auf die 
Anschlüsse "C" des Pollinboards gelegt, sondern auf "A".

Zugegebenermaßen nicht besonders logisch.....und ich hatte mich schon 
gewundert warum die LEDs an PORTA des Pollin-boards geblinkt haben 
obwohl der mega 8 garkeinen PORTA besitzt.....in diesem Sinn gut nacht!

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bierschinken schrieb:
> Ich hab den Fehler (zumindest den unmittelbaren;-) gefunden....leider
> sind auf dem Pollin-Board die I/O-Pins des mega8 von PORTC nicht auf die
> Anschlüsse "C" des Pollinboards gelegt, sondern auf "A".

Redest du vom Pollin-Addon-Board?
Dessen Beschriftung erschließt sich in der Tat nicht in nüchternem 
Zustand.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.