Raspberry Pi ADC Interrupt

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Code
    Hallo,
    
    ich bin momentan dabei mit einem Raspberry Pi sowie einem ADC MCP3208 und mit Hilfe der wiringPi-Bib Signale einzulesen. Ziel ist es irgendwann einen FIR-Filter zu implementieren. Da ist aber noch Zukunftsmusik :D
    Momentan gebe ich über einen Signalgenerator einen Takt vor, welcher wiederum den Interrupt auslöst. In der ISR wird der ADC getartet, welcher über SPI die Daten an den Raspberry Pi sendet.
    Das Problem: Am Signalgenerator stelle ich 40 kHz ein. Somit müsste ja der Interrupt alle 25 µs ausgelöst werden. Um das ganze zu überprüfen habe ich in der ISR einen Testpin so konfiguriert, dass er bei jedem Aufruf des ISR den Zustand wechselt. Sprich von LOW auf HIGH und von HIGH auf LOW wechselt. Diesen Pin messe ich mit dem Oszi. Auf dem Oszi sind lese ich jedoch eine Frequenz von 17 kHz ab. Weiß eventuell jemand wie das zustande kommt?
  • Moin Lil_Electro,


    erstmal: Herzlich Willkommen im Forum!


    Ich weiß nicht ob du deinen Code so schreibst oder ob beim übertragen ein Fehler passiert ist.

    void myInterrupt(void) { int adc1Channel = 0; int adc1Value = 0; start = micros(); toggle ^= 1; digitalWrite(DG_OUT, toggle); adc1Value = read_mcp3208_adc(adc1Channel); adc1Value = (3.3/4096) * adc1Value; end = micros();
    //printf("\n int: 0 %d \n", end - start);
    }

    So steht es nun in deinem Beitrag. Es läßt sich SEHR schlecht lesen.


    So oder ähnlich sollte es aussehen. Kannst du das mal ändern?!?


    Wenn das deine ISR ist, dann macht sie zuviel! Ich vermute mal, das sie zuviel Zeit verballert.


    Hast du mal eine niedrige Frequenz an deinem Generator eingestellt? Nur um mal zu sehen, ab wann es nicht mehr geht.


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.