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.
Dependencies: BufferedSerial mbed-rtos mbed
Fork of NucleoF401_ESP8622 by
esp8622.cpp@1:4a50b910342c, 2015-02-18 (annotated)
- Committer:
- veyselka
- Date:
- Wed Feb 18 13:41:07 2015 +0000
- Revision:
- 1:4a50b910342c
NUCLEO with NodeMCU AT commands V.1.0.0
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| veyselka | 1:4a50b910342c | 1 | /* --------------------------------------------------------------------------- |
| veyselka | 1:4a50b910342c | 2 | ** This software is in the public domain, furnished "as is", without technical |
| veyselka | 1:4a50b910342c | 3 | ** support, and with no warranty, express or implied, as to its usefulness for |
| veyselka | 1:4a50b910342c | 4 | ** any purpose. |
| veyselka | 1:4a50b910342c | 5 | ** |
| veyselka | 1:4a50b910342c | 6 | ** esp8622.ccp |
| veyselka | 1:4a50b910342c | 7 | ** NodeMCU serial comminication STM32F401RE Nucleo Board |
| veyselka | 1:4a50b910342c | 8 | ** Author: <veyselka@hotmail.com> <v.karadag@gmail.com> Veysel KARADAG |
| veyselka | 1:4a50b910342c | 9 | ** -------------------------------------------------------------------------*/ |
| veyselka | 1:4a50b910342c | 10 | |
| veyselka | 1:4a50b910342c | 11 | #include "esp8622.h" |
| veyselka | 1:4a50b910342c | 12 | #include "mbed.h" |
| veyselka | 1:4a50b910342c | 13 | |
| veyselka | 1:4a50b910342c | 14 | |
| veyselka | 1:4a50b910342c | 15 | char rx_buffer[255]; |
| veyselka | 1:4a50b910342c | 16 | |
| veyselka | 1:4a50b910342c | 17 | int esp8622::sendATTest(void) |
| veyselka | 1:4a50b910342c | 18 | { |
| veyselka | 1:4a50b910342c | 19 | char resp[32]; |
| veyselka | 1:4a50b910342c | 20 | |
| veyselka | 1:4a50b910342c | 21 | sendCmd("AT\r\n"); |
| veyselka | 1:4a50b910342c | 22 | memset(resp,0,32); |
| veyselka | 1:4a50b910342c | 23 | readFromBuffer(resp,DEFAULT_TIMEOUT,10); |
| veyselka | 1:4a50b910342c | 24 | |
| veyselka | 1:4a50b910342c | 25 | if(strncmp(resp,"AT\r\r\n\r\nOK",9)==0) |
| veyselka | 1:4a50b910342c | 26 | return 1; |
| veyselka | 1:4a50b910342c | 27 | else |
| veyselka | 1:4a50b910342c | 28 | return 0; |
| veyselka | 1:4a50b910342c | 29 | |
| veyselka | 1:4a50b910342c | 30 | |
| veyselka | 1:4a50b910342c | 31 | } |
| veyselka | 1:4a50b910342c | 32 | |
| veyselka | 1:4a50b910342c | 33 | void esp8622::sendCmd(const char* cmd) |
| veyselka | 1:4a50b910342c | 34 | { |
| veyselka | 1:4a50b910342c | 35 | esp8622_com.clear(); |
| veyselka | 1:4a50b910342c | 36 | esp8622_com.puts(cmd); |
| veyselka | 1:4a50b910342c | 37 | } |
| veyselka | 1:4a50b910342c | 38 | |
| veyselka | 1:4a50b910342c | 39 | |
| veyselka | 1:4a50b910342c | 40 | int esp8622::readFromBuffer(char *resp,unsigned int timeout,unsigned int len ) |
| veyselka | 1:4a50b910342c | 41 | { |
| veyselka | 1:4a50b910342c | 42 | |
| veyselka | 1:4a50b910342c | 43 | timeCnt.start(); |
| veyselka | 1:4a50b910342c | 44 | int i=0; |
| veyselka | 1:4a50b910342c | 45 | |
| veyselka | 1:4a50b910342c | 46 | while(1) { |
| veyselka | 1:4a50b910342c | 47 | |
| veyselka | 1:4a50b910342c | 48 | if(esp8622_com.readable()) { |
| veyselka | 1:4a50b910342c | 49 | char c = esp8622_com.getc(); |
| veyselka | 1:4a50b910342c | 50 | resp[i]=c; |
| veyselka | 1:4a50b910342c | 51 | i++; |
| veyselka | 1:4a50b910342c | 52 | if(i>=len) |
| veyselka | 1:4a50b910342c | 53 | break; |
| veyselka | 1:4a50b910342c | 54 | } |
| veyselka | 1:4a50b910342c | 55 | |
| veyselka | 1:4a50b910342c | 56 | if(timeCnt.read() > timeout) { |
| veyselka | 1:4a50b910342c | 57 | break; |
| veyselka | 1:4a50b910342c | 58 | } |
| veyselka | 1:4a50b910342c | 59 | } |
| veyselka | 1:4a50b910342c | 60 | timeCnt.stop(); |
| veyselka | 1:4a50b910342c | 61 | timeCnt.reset(); |
| veyselka | 1:4a50b910342c | 62 | // printf("RESP:%s:\r\n",resp); |
| veyselka | 1:4a50b910342c | 63 | return 0; |
| veyselka | 1:4a50b910342c | 64 | } |
