PSoC Statussignal auswerten mittels PWM?

Gast #4636328
Hallo,

ich arbeite gerade mit einem PSoC und bin noch ziemlicher Neuling.
Ich bekomme von einem Sensor ein Statussignal gesendet. Dieses ist 
entweder High (1) oder Low (0). Jett möchte ich dieses auswerten. Über 
einen Interrupt, der alle 25 ms ausgelöst wird frage ich den Status 
dieses Signals ab.
Ich muss zur auswertung 20 Werte speichern und dann ein Verhältnis 
bilden. Je nachdem welches Verhältnis rauskommt, ist es ein gewisser 
Status. Also bei 1:1 Status 1 bei 3:1 Status 2 und so weiter.

Kann ich das über ein PWM Baustein machen? Wie müsste ich diesen 
Konfigurieren und programmieren.

Ich hab ehrlich gesagt kein richtigen durchblick wie ich das ganze 
realsiieren kann.


Grüße
#4636388
Wozu willst du eine Hardware-Komponente dafür einsetzen?
Bei einem Abstand von 25ms kannst du doch problemlos eine kleine 
C-Funktion implementieren, die dir das Verhältnis zurückgibt.
1
Pseudocode
2

3
volatile uint8 Counter = 0 //zählt die max 20.Werte
4
volatile uint8 Status  = 0 //hier kumulierst du den Pin-Status
5

6
//25ms-IR
7
Counter++
8
Status = Status + PinRead()
9

10

11
//in der main()
12
Verhaeltnis = 0  //type, den du halt brauchst
13
..
14
  if Counter = 20
15
    Verhaeltnis = Counter / Status 
16
    Counter = 0
17
    status = 0
18
  endif

Wenn es denn doch in Hardware sein soll, könntest du einen Counter 
benutzen. Dein Eingangssignal wird gezählt und nach 20*25ms schaust du 
halt nach, was im Counter steht.
Gast #4636535
Hey,

jop genau so hatte ich es auch geplant. Einen Counter will ich nicht 
verwenden, bzw muss ich schauen ob ich überhaupt noch verwenden kann. Es 
sind nur maximal 5 Stück möglich und diese sind aufbebraucht für andere 
Funktionen.

Das mit der if Abfrage ist eine sehr gute Idee. Diese werde ich 
umsetzen.


Danke schön

Grüße

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.