Archiv verlassen und diese Seite im Standarddesign anzeigen : Ext_INT2 über Taster probleme
Hat es jemals jemand geschafft, den externen Interrupt 2 über einen Taster auszulösen?
Ich hab jetz schon einiges versucht, bei int 1 und int 2 ist es kein problem, nur int2 will nicht auslösen.
wenn jemand weiß, wie ich ihn initialisieren muss, dass es funktioniert bzw. ob es überhaupt funktionieren kann wäre ich sehr dankbar!
mfg. Philip
von welchem chip redest du? ist er in einem asuro verbaut ? die informationen sind zu mager um zu sagen was du meinst und die chips an sich unterscheiden sich, wenn er im asuro stecken sollte (ich vermute das hier mal ganz frech) dann ist es auch von der platine abhängig und DA könnte ich eventuell aushelfen
im atmega8 datenblatt auf seite 66 steht wie du die register zu belegen hast, auf dem asuro ist ausserdem zu beachten, das der pin extern über den rotteil der statusLED auf GND gezogen wird, der pin muss im PORT register also auf LOW liegen(oder einfach vermeiden die LED auf yellow oder red zu setzen), und das MCUCR entsprechend eingestellt, dann kannst du den INT2 ausgang am asuro auf high ziehen und könntest einen interrupt über INT2 auslösen
hab ich vergessen dazuzuschreiben.
ich verwende einen ATmega16.
hab echt schon alles mögliche versucht, ext_int 2 zu initialisieren, doch er löst nicht aus. Ob bei steigender oder fallender Taktflanke es tritt der Interrupt2 nicht auf. Int1 hab ich ausgetestet und der ging reibungslos.
Aufs entprellen hab ich zugegebener weise keine Acht gegeben, da es bei Int1 funktioniert hat und unser verwendeter Taster nahezu Prellungsfrei ist.
Mir ist klar das Int2 nicht genau der selbe Interrupt ist wie Int0 und Int1, jedenfalls auslösen tut er bei mir nicht =(.
Wenn es jemand geschafft hat den INT2 mithilfe eines tasters auszulösen bzw. sich wegen mir die mühe macht wäre ich sehr dankbar und mir wäre sehr geholfen.!
mfg. Philip
GICR |= BV(INT2);
MCUCSR |= BV(ISC2); für fallende flanke oder
MCUCSR &= ~BV(ISC2); für steigende flanke
der puls muss ausserdem mindestens 50nS lang sein steht im datasheet
hast du im SFIOR das ACME Flag aus? der analog comparator überschreibt die interruptfunktion! ausserdem sollte im ACSR register das ACD flag gesetzt werden um den analog comparator ganz auszuschalten ... hast du auch wirklich den taster an pin PB2 angeschlossen ?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.