Communicates with the WiFi - be very careful when using as it is tempremental.
Dependencies: mbed
main.cpp
- Committer:
- qdanilc
- Date:
- 2017-05-23
- Revision:
- 0:c600fe917ab1
- Child:
- 1:cd1fe330bc2a
File content as of revision 0:c600fe917ab1:
#include "mbed.h" #include "RawSerial.h" DigitalOut VCCPin (PTC0); //setup the other wifi pins DigitalOut rstPin (PTC10); DigitalOut chpdPin (PTC11); DigitalOut GNDPin (PTC6); RawSerial esp (PTC4, PTC3, 115200); //setup a serial to the Tx = PTC4 and Rx = PTC3 pins at baud rate 115200 Serial pc(USBTX, USBRX); 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; } 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); } } } int main() { //initialise the pins VCCPin = 1; rstPin = 1; chpdPin = 1; GNDPin = 0; 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); }