Franz Pucher / HIM0Board

You are viewing an older revision! See the latest version

STM Schalter

Inhalt

Schreiben Sie ein Programm für das M0 Board, dass einen Lichtschalter simuliert. Es soll der rote Anteil der RGB-Led durch betätigen des Schalters SW1 ein bzw. ausgeschaltet werden, wobei Sie die Tasten ISR nur für ein Flag verwenden dürfen, dass dem Programm ein Ein-/Ausschalten der Led signalisiert.
Verwenden Sie die Klasse Debouncer von Liyang HU zur Tastenentprellung und die PWM für RGB-Led.

#include <Debouncer.h>

PwmOut led1(p36);
PwmOut green(p5); 
PwmOut blue(p34);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);
//DigitalIn  sw2(P0_10);
Debouncer sw1(P0_15);

void fall(void)
{  ... }

int main()
{
    sw1.attach_fall(&fall); //.attach_rise(&rise);
    blue=green=1;
//  ...
}


Das Zustandsdiagramm (Statechart Diagram) sieht folgendermaßen aus:

/media/uploads/fpucher/stm0.jpg


Weitere Aufgaben

  • Verwenden Sie für das Blinken der Led4 das Ticker Interface
  • Messen Sie die Zeit zwischen zwei Tastendrücken durch die Verwendung des Timer Interfaces
  • Fügen Sie den Zustand TimeOut hinzu (wie sieht das Zustandsdiagramm nun aus), der nach drücken der Taste SW2 aus dem Zustand Ein in diesen Zustand TimeOut wechselt und die gemessene Zeit im Sekundentakt auf die Serielle Schnittstelle schreibt.

All wikipages