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.
Diff: main.cpp
- Revision:
- 0:00824af0e88f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Mon Oct 15 21:24:37 2012 +0000
@@ -0,0 +1,42 @@
+/*Program Example 7.2. Sets the mbed up as Master, and exchanges data with a slave, sending its own switch positions, and displaying those of the slave.
+ */
+#include "mbed.h"
+
+SPI ser_port(p11, p12, p13); // mosi, miso, sclk
+DigitalOut red_led(p25); //red led
+DigitalOut green_led(p26); //green led
+DigitalOut cs(p14); //this acts as “slave select”
+DigitalIn switch_ip1(p5);
+DigitalIn switch_ip2(p6);
+char switch_word ; //word we will send
+char recd_val; //value return from slave
+
+int main() {
+ while (1){
+ //Default settings for SPI Master chosen, no need for further configuration
+ //Set up the word to be sent, by testing switch inputs
+ switch_word=0xa0; //set up a recognisable output pattern
+ if (switch_ip1==1)
+ switch_word=switch_word|0x01; //OR in lsb
+ if (switch_ip2==1)
+ switch_word=switch_word|0x02; //OR in next lsb
+ cs = 0; //select slave
+ recd_val=ser_port.write(switch_word); //send switch_word and receive data
+ cs = 1;
+ wait(0.01);
+
+ //set leds according to incoming word from slave
+ red_led=0; //preset both to 0
+ green_led=0;
+ recd_val=recd_val&0x03; //AND out unwanted bits
+ if (recd_val==1)
+ red_led=1;
+ if (recd_val==2)
+ green_led=1;
+ if (recd_val==3){
+ red_led=1;
+ green_led=1;
+ }
+ }
+}
+