Lets merge mbed with arduino. Basic arduino programming code for the Nucleo platform. Note: the code is not efficient, just take the idea.

Dependencies:   mbed

Committer:
jose_23991
Date:
Sat Sep 13 12:47:56 2014 +0000
Revision:
0:312d60e4b87d
Version 1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jose_23991 0:312d60e4b87d 1 #include "mbed.h"
jose_23991 0:312d60e4b87d 2
jose_23991 0:312d60e4b87d 3 /***************************************/
jose_23991 0:312d60e4b87d 4
jose_23991 0:312d60e4b87d 5 #define INPUT 0
jose_23991 0:312d60e4b87d 6 #define OUTPUT 1
jose_23991 0:312d60e4b87d 7 #define INPUT_PULLUP 2
jose_23991 0:312d60e4b87d 8 #define LOW 0
jose_23991 0:312d60e4b87d 9 #define HIGH 1
jose_23991 0:312d60e4b87d 10
jose_23991 0:312d60e4b87d 11 /***************************************/
jose_23991 0:312d60e4b87d 12
jose_23991 0:312d60e4b87d 13 void setup();
jose_23991 0:312d60e4b87d 14 void loop();
jose_23991 0:312d60e4b87d 15 void pinMode(PinName pin, int mode);
jose_23991 0:312d60e4b87d 16 void digitalWrite(PinName pin, int value);
jose_23991 0:312d60e4b87d 17 int digitalRead(PinName pin);
jose_23991 0:312d60e4b87d 18 void delay(unsigned long t);
jose_23991 0:312d60e4b87d 19
jose_23991 0:312d60e4b87d 20 /***************************************/
jose_23991 0:312d60e4b87d 21
jose_23991 0:312d60e4b87d 22 int main()
jose_23991 0:312d60e4b87d 23 {
jose_23991 0:312d60e4b87d 24 setup();
jose_23991 0:312d60e4b87d 25 while(1)
jose_23991 0:312d60e4b87d 26 {
jose_23991 0:312d60e4b87d 27 loop();
jose_23991 0:312d60e4b87d 28 }
jose_23991 0:312d60e4b87d 29 }
jose_23991 0:312d60e4b87d 30
jose_23991 0:312d60e4b87d 31 /***************************************/
jose_23991 0:312d60e4b87d 32
jose_23991 0:312d60e4b87d 33 // Type PinName is declared in mbed library
jose_23991 0:312d60e4b87d 34 PinName button = USER_BUTTON;
jose_23991 0:312d60e4b87d 35 PinName led = LED1;
jose_23991 0:312d60e4b87d 36
jose_23991 0:312d60e4b87d 37 /***************************************/
jose_23991 0:312d60e4b87d 38
jose_23991 0:312d60e4b87d 39 void setup()
jose_23991 0:312d60e4b87d 40 {
jose_23991 0:312d60e4b87d 41 pinMode(button, INPUT_PULLUP); // Set button as input with internall pull-up
jose_23991 0:312d60e4b87d 42 pinMode(led, OUTPUT); // Set led as output
jose_23991 0:312d60e4b87d 43 digitalWrite(led, LOW); // Set led off
jose_23991 0:312d60e4b87d 44 }
jose_23991 0:312d60e4b87d 45
jose_23991 0:312d60e4b87d 46 void loop()
jose_23991 0:312d60e4b87d 47 {
jose_23991 0:312d60e4b87d 48 // Basic digitalRead
jose_23991 0:312d60e4b87d 49 if(digitalRead(button) == LOW)
jose_23991 0:312d60e4b87d 50 {
jose_23991 0:312d60e4b87d 51 digitalWrite(led, HIGH);
jose_23991 0:312d60e4b87d 52 delay(200);
jose_23991 0:312d60e4b87d 53 }
jose_23991 0:312d60e4b87d 54 else
jose_23991 0:312d60e4b87d 55 digitalWrite(led, LOW);
jose_23991 0:312d60e4b87d 56
jose_23991 0:312d60e4b87d 57 /*
jose_23991 0:312d60e4b87d 58 // Basic blink
jose_23991 0:312d60e4b87d 59 digitalWrite(led, HIGH);
jose_23991 0:312d60e4b87d 60 delay(1000);
jose_23991 0:312d60e4b87d 61 digitalWrite(led, LOW);
jose_23991 0:312d60e4b87d 62 delay(1000);
jose_23991 0:312d60e4b87d 63 */
jose_23991 0:312d60e4b87d 64 }
jose_23991 0:312d60e4b87d 65
jose_23991 0:312d60e4b87d 66 /***************************************/
jose_23991 0:312d60e4b87d 67
jose_23991 0:312d60e4b87d 68 void pinMode(PinName pin, int mode)
jose_23991 0:312d60e4b87d 69 {
jose_23991 0:312d60e4b87d 70 if(mode == INPUT)
jose_23991 0:312d60e4b87d 71 DigitalIn pm(pin);
jose_23991 0:312d60e4b87d 72 else if(mode == INPUT_PULLUP)
jose_23991 0:312d60e4b87d 73 DigitalIn pm(pin, PullUp);
jose_23991 0:312d60e4b87d 74 else if(mode == OUTPUT)
jose_23991 0:312d60e4b87d 75 DigitalOut pm(pin);
jose_23991 0:312d60e4b87d 76 }
jose_23991 0:312d60e4b87d 77
jose_23991 0:312d60e4b87d 78 void digitalWrite(PinName pin, int value)
jose_23991 0:312d60e4b87d 79 {
jose_23991 0:312d60e4b87d 80 DigitalOut dw(pin, value);
jose_23991 0:312d60e4b87d 81 }
jose_23991 0:312d60e4b87d 82
jose_23991 0:312d60e4b87d 83 int digitalRead(PinName pin)
jose_23991 0:312d60e4b87d 84 {
jose_23991 0:312d60e4b87d 85 DigitalIn dr(pin);
jose_23991 0:312d60e4b87d 86
jose_23991 0:312d60e4b87d 87 return dr.read();
jose_23991 0:312d60e4b87d 88 }
jose_23991 0:312d60e4b87d 89
jose_23991 0:312d60e4b87d 90 void delay(unsigned long t)
jose_23991 0:312d60e4b87d 91 {
jose_23991 0:312d60e4b87d 92 wait_ms(t);
jose_23991 0:312d60e4b87d 93 }