整理tcp server开发过程所用到的网站
《Arduino程序设计基础》函数参考文档
ESP8266 SDK开发基础入门
Arduino程序main函数结构解析
引用处
在进行Arduino开发时,没有像传统C/C++程序使用入口函数main。实际上main函数存在于Arduino核心库中,且仍然是程序的入口。
在Arduino核心库中可见main.cpp文件,其内容如下:
#include <Arduino.h>
// Declared weak in Arduino.h to allow user redefinitions.
int atexit(void (* /*func*/ )()) { return 0; }
// Weak empty variant initialization function.
// May be redefined by variant files.
void initVariant() __attribute__((weak));
void initVariant() { }
void setupUSB() __attribute__((weak));
void setupUSB() { }
int main(void)
{
init();
initVariant();
#if defined(USBCON)
USBDevice.attach();
#endif
setup();
for (;;) {
loop();
if (serialEventRun) serialEventRun();
}
return 0;
}
通过以上程序可见,Arduino程序中编写的setup和loop函数,都在main函数中调用了。
loop的循环执行,是通过for循环实现的,且每次loop结束后,都会进行串口事件判断,也正是因为这种设计,串口事件不能实时响应。
Arduino ESP8266WiFi library
Arduino的String类用法汇总
字符串解析函数:substring(?,…),返回值为指定位置的字符串值
String stringOne = "Content-Type: text/html";
if (stringOne.substring(19) == "html") {
Serial.println("It's an html file");
}
if (stringOne.substring(14,18) == "text") {
Serial.println("It's a text-based file");
}
client.readStringUntil
String line = client.readStringUntil(’\n’);//读取从 Tcp Server 返回的数据(以回车符结尾line不包含回车符)
String line = Serial.readStringUntil(’\n’);//读取从 Serial 返回的数据(以回车符结尾line包含回车符)
char line = static_cast(client.read());//读取单个字符
Arduino的String.h库函数详解
此库中包含
1 charAT()
2 compareTo()
3 concat()
4 endsWith()
5 equals()
6 equalslgnoreCase()
7 getBytes()
8 indexOf()
9 lastlndexOf()
10 length()
11 replace()
12 setCharAt()
13 startsWith()
14 substring()
15 toCharArray()
16 toInt()
17 toLowerCase()
18 toUpperCase()
19 trim()