Test

Dependencies:   mbed

Committer:
Helmut64
Date:
Fri Feb 17 13:20:47 2017 +0000
Revision:
1:203c68bc3e88
Parent:
0:eef6d081aebe
Added more F103 support.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helmut64 0:eef6d081aebe 1 #include "mbed.h"
Helmut64 0:eef6d081aebe 2
Helmut64 1:203c68bc3e88 3 #ifdef TARGET_NUCLEO_F103RB
Helmut64 1:203c68bc3e88 4 #define MY_LED PC_13
Helmut64 1:203c68bc3e88 5 #define MY_BUTTON NC
Helmut64 1:203c68bc3e88 6 #else
Helmut64 1:203c68bc3e88 7 #define MY_LED LED1
Helmut64 1:203c68bc3e88 8 #define MY_BUTTON USER_BUTTON
Helmut64 1:203c68bc3e88 9 #endif
Helmut64 1:203c68bc3e88 10
Helmut64 1:203c68bc3e88 11 DigitalOut myled(MY_LED);
Helmut64 1:203c68bc3e88 12
Helmut64 0:eef6d081aebe 13
Helmut64 0:eef6d081aebe 14 volatile int updatedLED = 0;
Helmut64 0:eef6d081aebe 15
Helmut64 0:eef6d081aebe 16
Helmut64 0:eef6d081aebe 17 void ButtonPressed(void) {
Helmut64 0:eef6d081aebe 18 myled = !myled;
Helmut64 0:eef6d081aebe 19 updatedLED++;
Helmut64 0:eef6d081aebe 20 }
Helmut64 0:eef6d081aebe 21
Helmut64 0:eef6d081aebe 22 int main()
Helmut64 0:eef6d081aebe 23 {
Helmut64 1:203c68bc3e88 24 Serial ser(USBTX, USBRX);
Helmut64 1:203c68bc3e88 25 ser.baud(230400);
Helmut64 1:203c68bc3e88 26
Helmut64 1:203c68bc3e88 27 InterruptIn *event = NULL;
Helmut64 1:203c68bc3e88 28 if (MY_BUTTON != NC) {
Helmut64 1:203c68bc3e88 29 event = new InterruptIn(MY_BUTTON);
Helmut64 1:203c68bc3e88 30 event->fall(&ButtonPressed);
Helmut64 1:203c68bc3e88 31 // event.mode(PullUp);
Helmut64 1:203c68bc3e88 32 }
Helmut64 1:203c68bc3e88 33
Helmut64 0:eef6d081aebe 34 int intrnos = 0;
Helmut64 0:eef6d081aebe 35
Helmut64 1:203c68bc3e88 36 ser.printf("Hello, World\r\n");
Helmut64 1:203c68bc3e88 37 ser.printf("SysClock: %u Hz.\r\n", SystemCoreClock);
Helmut64 1:203c68bc3e88 38
Helmut64 0:eef6d081aebe 39 int i = 0;
Helmut64 1:203c68bc3e88 40
Helmut64 0:eef6d081aebe 41 for(;;) {
Helmut64 0:eef6d081aebe 42 while(i < 5) {
Helmut64 0:eef6d081aebe 43 myled = 1; // LED is ON
Helmut64 0:eef6d081aebe 44 wait(0.2); // 200 ms
Helmut64 0:eef6d081aebe 45 myled = 0; // LED is OFF
Helmut64 0:eef6d081aebe 46 wait(1.0); // 1 sec
Helmut64 0:eef6d081aebe 47 i++;
Helmut64 0:eef6d081aebe 48 }
Helmut64 0:eef6d081aebe 49 sleep();
Helmut64 1:203c68bc3e88 50 ser.printf("Wakeup: %d Intr: %d\r\n", ++intrnos, updatedLED);
Helmut64 1:203c68bc3e88 51 myled = !myled;
Helmut64 1:203c68bc3e88 52 wait(0.1);
Helmut64 0:eef6d081aebe 53 }
Helmut64 0:eef6d081aebe 54 }