Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
You are viewing an older revision! See the latest version
STM Schalter
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:
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.