Hi Ich hab bis jetzt ja schon einige Projekte mit den ATMega128 Controllern abgewickelt, aber jetzt steh ich vor einem sehr seltsamen Problem. Und zwar... ich hab auf PortE (PE5) eine Interrupt Leitung von einem Peripheriechip (5-Ton Auswerter) drauf. Diese Leitung wird relativ selten ausgelöst und in meinem Programm wird die Leitung in einer while-Schleife gepollt. Nachdem das Statusregister des Auswerters ausgelesen wurde, geht die Interrupt Leitung wieder auf High! Soweit ist das alles ok und funktioniert (für sich gesehen). Jetzt benutze ich noch die zweite serielle Schnittstelle (USART1) zur Übertragung einiger Einstellungen (polle ebenfalls in der selben while-Schleife). Das Problem das nun auftritt ist folgendes: irgendwie bekomm ich durch den Zugriff auf die Register - egal welche - der USART1 Störungen auf die Interrupt-Leitung (Pin PE5). Wenn die Störungen nur im mV Bereich wären, dann würde mich das weniger stören, aber bei etwa 1-2V ist das schon ein Problem. Lass ich die Register der USART1 in Ruhe, dann hab ich keine Störungen drauf. Vielleicht hat jemand einen Tipp für mich, wsa ich ausporbieren könnte!? Vielleicht hats auch was mit dem Kompatiblitätsmodus zu tun (Mega103)!? mfg Andreas
Hört sich nach Programmfehler an!? Wie sieht denn dein Code aus? jörn
Programm sieht etwa so aus:
1 | int main() |
2 | {
|
3 | ...
|
4 | ...
|
5 | |
6 | while(1) |
7 | {
|
8 | status = UDR1; |
9 | |
10 | if(!fx803Int()) |
11 | {
|
12 | ...
|
13 | // paar Aktionen, damit das Statement genommen wird
|
14 | }
|
15 | }
|
16 | }
|
Übrigens ist es so, dass das Problem immer auftritt, wenn ich in dem Bereich zwischen 0x60 und 0xFF (also in dem extended IO Reg. Bereich) zugreife. Sobald ich also diesen Bereich lese oder schreibe, hab ich Störungen auf dem PE5 Pin. Ab 0x100 gibts kein Problem mehr. Ist doch sehr seltsam, oder?? mfg Andreas
Alle Vcc und GND Anschlüsse verbunden und korrekt abgeblockt ? Oder ggf. probleme bei der richtigen Umsetzung von Port- auf Memory-Mapped I/O Operationen?
Ja, hätte eigentlich alle VCC und GND Anschlüsse richtig verbunden und auch dementsprechend Kondensatoren hinzugefügt. Ich hab in dem Programmbeispiel oben nur einfache Port Operationen laufen... nichts großartiges... Hab jetzt auch mal eine Mail an Atmel geschrieben. Vielleicht kennen die ja das Problem! Danke erstmal für eure Hilfe... bin für weitere Tipps dankbar. mfg Andreas
Hab jetzt auch versucht, dass ich 5 der 8 Leitungen von dem Chip abhänge. Ergebnis ist das selbe. Sobald ich auf die besagten Adressen zugreife, hab ich Störungen am Port. mfg Andreas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.