Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: max7311 interrupt Kategorie: Sonstige Hardware (von Martin Schultheiss - 2.11.2006 21:48)
Als Antwort auf Re: max7311 interrupt von JörgC - 2.11.2006 21:01
Ich nutze:
C-Control II Station, OSOPT V3.1
Hallo Jörg.

That's it. Kaum macht man es richtig, schon funktioniert es!
Vielen Dank für diesen Hinweis !!!

Und noch eine kleine Zusammenfassung für die Forums-Suchfunktion:

laut max7311 datasheet: "Upon power-on, all I/O lines are set as
inputs." Dies mu� stimmen,sonst hätten meine 3 Stück max7311-Bausteine
nicht schon seit Wochen als Eingänge funktioniert
(Jörg hat es ja unten geschrieben, da� ich mit meinem setDDRw eigentlich
nur Port 0 explizit als Eingang geschaltet habe).
ABER: Der INT-Ausgang des max7311 funktioniert erst, wenn alle
Eingänge per setDDR-Befehl (siehe unten) als Eingänge explizit gesetzt
worden sind. Ein "power-on" genügt dafür anscheinend nicht.

Ganz abgesehen davon, daÃ? ich die max7311.html Doku nicht richtig
kapiert habe :-) ... egal, nicht nach hinten schauen, sondern immer nach
vorne :-)  ... es gibt noch viel zu tun ...






> Hallo Martin,
>
> dein 10k gegen 5V sollte schon ok sein. Aber mit
> if max7311.setDDRw(0,1) != -1 // 16-fach Modul 0
> schaltest du lediglich port 0 als Eingang, müsste also heissen
> if max7311.setDDRw(0,0xFFFF) != -1 // 16-fach Modul 0
>
> Dann sollte das mit dem INT auch klappen.
>
> Gruss,
> Jörg
>
> > Hallo Forumleserinnen und -leser.
> >
> > Um meinen I2C-Bus zu entlasten, habe ich mich an den
> > Interrupt-Ausgang des max7311 erinnert. Jedoch möchte der
> > INT-Ausgang einfach nicht so funktionieren, wie ich mir das einbilde -
> > obwohl ich schon zahlreiche Forumsbeiträge dazu gelesen habe.
> >
> > Mit einem Pullup-Widerstand habe ich den INT-Ausgang des max7311
> > auf einen Port der CC2-Station gelegt. Der max7311 ist komplett als
> > Eingangsbaustein initialisiert. Wenn ich den INT-Ausgang manuell
> > mit GND verbinde, dann reagiert mein (Test-) Programm wie
> > erwartet. Wenn ich jedoch darauf hoffe, daÃ? der INT-Ausgang eine
> > Pegeländerung an einem der Eingänge des max7311 bemerkt, dann
> > bleibt es eine Hoffnung ... nichts tut sich. An den Eingänge habe ich
> > eine 10k-Pullup-Widerstandsbrücke - was aber nicht das Problem sein
> > wird.
> >
> > Hier ein Auszug aus dem Code:
> >
> > > // MAX7311 als Eingang initialisieren
> > > if max7311.setDDRw(0,1) != -1 // 16-fach Modul 0
> > >    functions.errormessage("max7311 setDDRw", "Addr 0 offline");
> > >
> > > wait not ports.get(8); // wartet, bis LOW am Port anliegt
> > > functions.beep(plm.TONE_C3,300);
> >
> > Wie gesagt, lege ich manuell GND an den INT-Ausgang, dann
> > gibt die CC2 den erwarteten Pieps von sich - jedoch nicht
> > wenn ich eine Pegeländerung an einem der max7311-Eingänge auslöse.
> > Auf dem I2C-Bus ist kein Traffic zu sehen (Oszi).
> > Es frägt also auch niemand den max7311 ab und setzt somit
> > den INT wieder auf high.
> >
> > Laut Forum ist es kein Problem den INT zu benutzen ... nur bei
> > mir funktioniert es nicht ...
> >
> > Hat jemand eine Idee woran das liegen könnte? Habe ich einen
> > defekten INT-Ausgang an meinem max7311?
> >
> > Jede Hilfe ist willkommen! Vielen Dank und GruÃ?
> >
> > Martin
> >
> >
> >


    Antwort schreiben


Antworten:

Re: max7311 interrupt (von Thomas M. - 14.03.2009 21:50)