- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 8 von 8

Thema: ADC und Interrupt Verständnisproblem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    Im Datenblatt Kapitel "16.2.6 A/D CONVERSION PROCEDURE" ist die ADC Prozedur beschrieben. Diese Prozedur sollte zyklisch wiederholt werden und anhand des Ergebnisses kann bestimmt werden, ob und wenn ja - welche Taste gedrückt wurde.
    Ich verstehe leider nicht ganz, was deine Frage ist. Wolltest du mit dem Tastendruck ein Interrupt auslösen?
    Geändert von witkatz (14.03.2015 um 10:20 Uhr)

  2. #2
    Hallo Witkatz
    Ich verstehe leider nicht ganz, was deine Frage ist. Wolltest du mit dem Tastendruck ein Interrupt auslösen?
    So habe ich die Doku verstanden, das eine Spannungsänderung am Pin einen Interrupt auslöst.

    Ich Kann es mir eigentlich nur so erklären da es sich hier um einen analogen Eingang handelt, wird in einem bestimmten Intervall ein Interrupt ausgelöst und in der ISR werden die Daten ausgewertet.

    Hallo Klebwax
    Ich kann da einen Sinn für die Verwendung eines Interrupts nicht erkennen, es macht alles nur komplizierter. Der Ablauf müßte eigentlich so sein:
    Der Vorteil ist doch das ich nicht ständig die Prozedur für Tastendruck abfragen muss, schließlich soll der Pic auch noch was anderes tun.
    Ich lasse z.B. auf PortA eine LED blinken, die blinkt auch weiter wenn ich eine Taste drücke.
    Aber wie gesagt ich arbeite mich in ASM ein und lerne gerne was dazu also wenn es in der Praxis noch andere Techniken gibt um einen Tastendruck abzufragen.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    Zitat Zitat von Steffix Beitrag anzeigen
    So habe ich die Doku verstanden, das eine Spannungsänderung am Pin einen Interrupt auslöst.
    So ist das aber nicht. Für das starten der ADC Conversion bist du zuständig. Mit dem zurücksetzen des GO/DONE und mit dem Interruptflag kann der ADC melden, dass das Konvertieren fertig ist. Der Interrupt (falls aktiviert) wird also jedesmal ausgelöst, wenn die vorher gestartete ADC Conversion fertig ist, unabhängig davon, ob sich die Spannung geändert hat oder nicht.

    Wie Klebwax schon geschrieben hat, braucht man den ADC Interrupt für die Tastaturuswertung nicht. Der µC muss ja nicht ständig die Tastatur abfragen, das wäre schlecht. Es reicht, wenn der µC in der freien Zeit oder alle sagen wir mal 200ms nachschaut ob GO gelöscht ist, die Tastatur auswertet, GO setzt und dann andere Sachen macht. 200ms Reaktionszeit reichen für eine Tastatur idR aus.

    Wenn es darum geht, den PIC mit dem Tastendruck zu wecken dann könntest du ein Interrupt on Change des Comparator Moduls nutzen.
    Geändert von witkatz (14.03.2015 um 18:55 Uhr)

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Steffix Beitrag anzeigen
    So habe ich die Doku verstanden, das eine Spannungsänderung am Pin einen Interrupt auslöst.
    So etwas gibt es, das hat aber mit dem ADC nichts zu tun. PICs haben für soetwas einen Comparator. Der arbeitet aber nur gegen einen festen Wert, das passt zu deiner vierfach Geschichte nicht.

    Ich Kann es mir eigentlich nur so erklären da es sich hier um einen analogen Eingang handelt, wird in einem bestimmten Intervall ein Interrupt ausgelöst und in der ISR werden die Daten ausgewertet.
    Ist auch möglich, hat aber ebenfalls mit dem ADC nichts zu tun. Ein Timer löst in einem bestimmten Intervall einen Interrupt aus. Da könnte man dann den ADC starten uns auswerten.
    Der Vorteil ist doch das ich nicht ständig die Prozedur für Tastendruck abfragen muss, schließlich soll der Pic auch noch was anderes tun.
    Ich lasse z.B. auf PortA eine LED blinken, die blinkt auch weiter wenn ich eine Taste drücke.
    Aber wie gesagt ich arbeite mich in ASM ein und lerne gerne was dazu also wenn es in der Praxis noch andere Techniken gibt um einen Tastendruck abzufragen.
    Wenn man etwas kennenlernen will, sollte man mit dem Einfachen anfangen. Bevor man in die Halfpipe geht sollte man Skaten lernen. Also erstmal den ADC zum Laufen bringen und richtig kennenlernen. Erst dann kommt der Interrupt.

    Wie man Tasten und andere asynchrone Ereignisse in seinen Programmablauf integriert, hängt von der Programmstruktur ab. Interrupte sind nur eins der möglichen Mittel. So kann man z.B. das Blinken von einem Timerinterrupt erledigen lassen. Das hat aber mit ASM nichts zu tun.

    Die Verwendung von Assembler würde ich mir noch mal überlegen. Die Unterstützung für C ist bei Microchip hervorragend. Und wenn man den Prozessor wechselt, z.B zu den PIC18 oder den PIC24 wechselt, muß man nur die mächtigere Peripherie neu lernen, die Sprache bleibt die Gleiche.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    Zitat Zitat von Klebwax Beitrag anzeigen
    Die Verwendung von Assembler würde ich mir noch mal überlegen. Die Unterstützung für C ist bei Microchip hervorragend.
    Kann ich nur unterstreichen. Wenn man schon mit PIC16F1829 aus der Enhanced Mid-Range Familie anfängt, gibt es keinen zwingenden Grund für Assembler. Gute Tutorials u.a. für XC8 gibt es z.B. auch hier: http://pic-projekte.de/wordpress/?cat=13

Ähnliche Themen

  1. Tiny13 externer Interrupt Verständnisproblem
    Von Rolle77 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 12
    Letzter Beitrag: 22.09.2008, 07:49
  2. Bumper Schalter gleichzeitig an Interrupt und ADC?
    Von masabuana im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 23.08.2007, 21:04
  3. ATMega16 und Timer Verständnisproblem
    Von -tim- im Forum Assembler-Programmierung
    Antworten: 14
    Letzter Beitrag: 30.12.2006, 11:03
  4. Interrupt ADC
    Von Night_MaKu im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 27.04.2006, 17:05
  5. ADC - Umrechnung - Verständnisproblem
    Von DIYLAB im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 16.03.2005, 21:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen