NuMaker GPIO button with LED and buzzer

Committer:
shliu1
Date:
Thu Dec 22 15:08:55 2016 +0800
Revision:
5:4a573124ab4a
Parent:
1:7a0a00da91c7
Child:
8:876e8a140f39
Support M453, target is numaker_pfm_m453

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rkuo2000 1:7a0a00da91c7 1 // For NuMaker-PFM-NUC472 GPIO pins connected to rgbled, green led, buzzer
rkuo2000 0:f700c61f47e5 2 #include "mbed.h"
shliu1 5:4a573124ab4a 3 #if defined(TARGET_NUMAKER_PFM_NUC472)
rkuo2000 0:f700c61f47e5 4 DigitalOut rgbled_B(PD_8); // low-active
rkuo2000 0:f700c61f47e5 5 DigitalOut rgbled_R(PD_9); // low-active
rkuo2000 0:f700c61f47e5 6 DigitalOut rgbled_G(PA_4); // low-active
rkuo2000 0:f700c61f47e5 7 DigitalOut greenled(PG_0); // low-active
rkuo2000 0:f700c61f47e5 8 DigitalOut buzzer(PD_11); // low-active
rkuo2000 0:f700c61f47e5 9 DigitalIn button_SW1(PC_12); // press button =0
rkuo2000 0:f700c61f47e5 10 DigitalIn button_SW2(PC_13); // press button =0
shliu1 5:4a573124ab4a 11 #elif defined(TARGET_NUMAKER_PFM_M453)
shliu1 5:4a573124ab4a 12 DigitalOut rgbled_B(PD_7); // low-active
shliu1 5:4a573124ab4a 13 DigitalOut rgbled_R(PD_2); // low-active
shliu1 5:4a573124ab4a 14 DigitalOut rgbled_G(PD_3); // low-active
shliu1 5:4a573124ab4a 15 DigitalOut greenled(PB_12); // low-active
shliu1 5:4a573124ab4a 16 DigitalOut buzzer(PE_2); // low-active
shliu1 5:4a573124ab4a 17 DigitalIn button_SW1(PA_15); // press button =0
shliu1 5:4a573124ab4a 18 DigitalIn button_SW2(PA_14); // press button =0
shliu1 5:4a573124ab4a 19 #endif
rkuo2000 0:f700c61f47e5 20
rkuo2000 0:f700c61f47e5 21 // main() runs in its own thread in the OS
shliu1 5:4a573124ab4a 22 // (note the calls to Thread::wait below for d elays)
rkuo2000 0:f700c61f47e5 23 int main() {
rkuo2000 0:f700c61f47e5 24
rkuo2000 0:f700c61f47e5 25 rgbled_B=1; rgbled_R=1; rgbled_G=1;
rkuo2000 0:f700c61f47e5 26 greenled=1;
rkuo2000 0:f700c61f47e5 27 buzzer=1;
rkuo2000 0:f700c61f47e5 28
rkuo2000 0:f700c61f47e5 29 while (true) {
rkuo2000 0:f700c61f47e5 30 // press SW1 will turn on greeled and RGBLED=blue
rkuo2000 0:f700c61f47e5 31 if (button_SW1==0) {
rkuo2000 0:f700c61f47e5 32 greenled=0;
rkuo2000 0:f700c61f47e5 33 rgbled_B=0;
rkuo2000 0:f700c61f47e5 34 }
rkuo2000 0:f700c61f47e5 35 else {
rkuo2000 0:f700c61f47e5 36 greenled=1;
rkuo2000 0:f700c61f47e5 37 rgbled_B=1;
rkuo2000 0:f700c61f47e5 38 }
rkuo2000 0:f700c61f47e5 39 // press SW2 will turn on buzzer
rkuo2000 0:f700c61f47e5 40 if (button_SW2==0) buzzer=0;
rkuo2000 0:f700c61f47e5 41 else buzzer=1;
rkuo2000 0:f700c61f47e5 42 }
rkuo2000 0:f700c61f47e5 43 }
rkuo2000 0:f700c61f47e5 44