Forum: Mikrocontroller und Digitale Elektronik gleich zwei Fragen...


von thomas (Gast)


Lesenswert?

Hallo,

Zur Info: Ich beschäftige mich mich Mega128, derzeit auf
Adapterplatinen, die ich in das Testboard stecke.Programmiert wird über
ISP mit einem Adapter, der im Galep IV steckt.Wenn mit den Fuses was
schiefgeht,dann stecke ich den Mega128 in einen weiteren Adapter, der
ebenfalls im Galep prgrammiert wird.
Wenn ich nun ein weiteres Testboard entwerfe würde ich  gerne dort
einen zuschaltbaren ext. Oszillator einplanen.

Frage 1: Sollten die Fuses durcheinandergeraten, kann ich mit dem ext.

         Oszillator das Teil immer wieder beleben?
         (Also auch, wenn auf extern RC geschaltet ist).

Frage 2: Ich habe hier am Board GLCD und Tasturmatrix angehängt.
         Baue ich die Software für die Tastatur um auf PORTA oder

         PORTF, so kommt es zu "wirren" Erscheinungen.Diese Ports
habe
         leider nicht mit LED versehen, und dadurch keinen schnellen
         Überblick.
         Da die Tastatur aber bei PORTE PORTC einwandfrei funktioniert
         suche ich nach einer Erklärung.

Würde mich über Tips freuen.


Gruß

Thomas

von Thomas O. (Gast)


Lesenswert?

Hallo,

das mit dem Port kann am aktivierten JTAG liegen, diesen muss man bei
den Megas immer auschalten sonst funktionieren einige Pins eines Portes
nicht.

von M. M. (miszou)


Lesenswert?

Hi

Bin mir net sicher zu Frage 2 aber
a) Schau mal nach der Fuse "Atmega103 Compatibility Mode (M103C)
oder
b) JTAG Interface Enabled (JTAGEN)

versuch mal beide nicht zu aktivieren und dann schau mal ob dein PortF
so reagiert wie du es erwartest.


Gruß MISZOU

von MSE (Gast)


Lesenswert?

>>>Frage 1: Sollten die Fuses durcheinandergeraten,
>>>kann ich mit dem ext.
>>>Oszillator das Teil immer wieder beleben?
>>>(Also auch, wenn auf extern RC geschaltet ist).

Ich habe schon mal aus Versehen den ext. RC-Oszillator aktiviert,
obwohl ich einen Quarz eingelötet hatte.
Abhilfe: Quarz auslöten, RC-Glied provisorisch anlöten, wieder auf
Quarz oder internen Oszillator umfusen, RC wieder aus- und Quarz wieder
einlöten. Ging.

Gruß, Michael

von thomas (Gast)


Lesenswert?

Hi, mal eine Rückmeldung zu meinem Problem.

An den funtionierenden PORTS hängen LED nach GND dran. Die nicht
funktionierenden sind offen.Dort habe ich die Abfrage umgedreht auf
low, bei scheinbar aktivierten Pullup. Bei der Initialisierung hatte
ich zwar die Pullupwiderstände aktiviert, aber bei der Abfrage wieder
deaktiviert.Dadurch kam dann so einiges an Müll zustande.

...ja, so kann's gehen.

guuude

ts

von Andi K. (Gast)


Lesenswert?

zu 1) Geht nicht immer.
Am besten nimmst Du einen kleinen Tiny als Taktgeber.
Der geht immer wegen definitiven low- und high-Pegeln (0 und 5V).
Hier ein Minni-Prog zum Takten:

main:  ldi r16,0b00010000  ;PB4 als Ausgang, Rest als Input.
  out ddrb,r16
  ldi r16,0    ;Pullups und Ausgänge aus.
  out portb,r16

  ldi  r17,0b00010000
loop:  eor  r16,r17
  out  portb,r16
  rjmp  loop

Habe selbst schon ein paar mal den System-Clock versehentlich umgefust
wegen zu schnellen Quarz und der Tiny half immer.

MfG
Andi

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.