hat die folgende Sequenz schon mal jemand ausprobiert zum Erkennen eines Wechsels des Pinlevels? Start: ; sbis PINC,2 ; 3 Takte rjmp Start ; warten bis High, 2 Takte Taktfrequenz 8 Mhz. Es wird mit ca. 1,5 Mhz auf den Pin zugegriffen. Ein ähnliches Programm hatte ich mal auf einem 486er mit 33 Mhz und ISA Bus programmiert. Den ISA Bus hatte ich mit 13 Mhz getaktet. Das Programm hatte noch einen Zähler, der nach 65535 Durchläufen stoppte. Nach dem Ablaufen des Programms gab es zunächst Störungen beim Zugriff auf die Festplatte und nach mehrmaligen Abläufen hatte der I/O Chip ein Loch. Später hatte ich mal auf der Messe gesehen, daß der gleiche Chip auf einem Local Bus Bord drauf war, der mit 33 Mhz getaktet wird. Seitdem bin ich etwas vorsichtiger geworden und greife nicht mit kurzen Schleifen auf I/O Pins zu. Darum hier die Frage nach den Erfahrungen. mfg
>Nach dem Ablaufen des Programms gab es zunächst Störungen beim Zugriff >auf die Festplatte und nach mehrmaligen Abläufen hatte der I/O Chip ein >Loch. Ähm.... hä ?
Hallo, keine Ahnung, wie Du das geschafft hast... Beim PC könnte ich mir höchstens vorstellen, daß Du Portrichtungen/Register verändert hast und nach Ende Deines Programms nicht für die alten Einstellungen gesorgt hast. Läuft ja normalerweise noch ein Betriebssystem auf einem PC. Dem Mega ist das egal, da bist Du ja sowieso ganz allein für alles verantwortlich. Je nach Umständen ist meist sinnvoller, einen Interruptpin für sowas zu benutzen, kann der µC was sinnvolles machen, während er wartet. Gruß aus Berlin Michael
Wolfram Quehl wrote: > hat die folgende Sequenz schon mal jemand ausprobiert zum Erkennen eines > Wechsels des Pinlevels? > > Start: ; > sbis PINC,2 ; 3 Takte > rjmp Start ; warten bis High, 2 Takte Damit erkennst Du nicht den Wechsel, sondern den Zustand. D.h. solange High ist, rauscht Du durch. Ob überhaupt und wann Low war, ist egal. Peter
ein einfaches polling von einem Pin mach ich manchmal zwischen Init und Programm. Sozusagen als Startknopf, läuft aber ohne Probleme. Mein Comtroller (Mega8 / Mega16) hat noch kein Loch! ...vielleicht hat sich deiner ja aus stupider Langeweile erschossen!
auf dem PC war ich auch ganz alleine dafür verantwortlich. DOS war zwar installiert, aber zugegriffen hatte ich damals direkt oder über BIOS. Bis auf den 13 Mhz Takt auf dem ISA Bus hatte ich auch nichts verändert. Die Leitungen im Chip hatten sich durch die schnellen häufigen Zugriffe überhitzt. Ja, für den Mega bin ich verantwortlich und wenn der kaputt geht, dann muß ich einen neuen bezahlen. Interruptpin geht nicht, weil ich 5 Pins entsprechend abfragen muß. Zwar hintereinander, aber diese müssen ja angeschlossen werden. mfg
Ja, damals dachte ich nur in meiner Blödheit, wenn das einzustellen geht und das funktioniert, dann ist es doch gut. Die Festplatte war mit den 13 Mhz deutlich schneller. Ich hatte ja nicht damit gerechnet, daß der Hersteller da was freischalten läßt, wo Schäden entstehen können. @Peter daß da nur der Pegel eingelesen wird, ist klar. Darum muß ich ja auch so oft abfragen. mfg
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.