Communicates with the WiFi - be very careful when using as it is tempremental.
Dependencies: mbed
initiateWifi.cpp
- Committer:
- qdanilc
- Date:
- 2017-05-24
- Revision:
- 1:cd1fe330bc2a
- Child:
- 2:0b9ca0830cd3
File content as of revision 1:cd1fe330bc2a:
#include "mbed.h" #include "RawSerial.h" //setup the other wifi pins DigitalOut rstPin (PTE29); DigitalOut chpdPin (PTE23); RawSerial esp (PTC4, PTC3, 115200); //setup a serial to the (board) Tx = PTC4 and Rx = PTC3 pins at baud rate 115200 Serial pc(USBTX, USBRX, 115200); DigitalOut redLED(LED1); // twp leds DigitalOut greenLED(LED2); // to allow visual check of bidirectional comms DigitalOut blueLED(LED3); //to prove it's working char input; //character to store inputs/outputs in communication void reset() { //resets the module by turning rst off for 2 seconds then on again rstPin = 0; wait(2); rstPin = 1; pc.printf("Reset complete\r\n"); } void esp_recv() { redLED = !redLED; while(esp.readable()) { pc.putc(esp.getc()); //wait_us(1); } } void pc_recv() { char c; greenLED = !greenLED; while(pc.readable()) { c=pc.getc(); esp.putc(c); //pc.putc(c); // echo back if(c==13) { esp.putc(10); // send the linefeed to complement the carriage return generated by return key on the pc pc.putc(10); //ie makes enter perform as expected } } } int initiateWifi() { //initialise the pins rstPin = 1; chpdPin = 1; reset(); //perform an initial reset blueLED = 1; //turn on test light pc.attach(&pc_recv, Serial::RxIrq); // attach the two interrupt services esp.attach(&esp_recv, Serial::RxIrq); }