因为在做和物联网相关的项目,我们选择了ESP8266并使用Arduino对其进行开发,开发的过程也不是一帆风顺。在串口通信和TCP通信的过程中遇到了一些问题,最后也想办法避开了它们,在此与小伙伴们分享一下。
电源部分
在开发esp8266的过程中,需要特别注意使用LDO进行供电(3.3V),不能直接用USB转ttl的3.3V供电,否则esp8266容易异常复位。
串口通信
发送部分很简单,直接调用Serial.print()即可。至于接收部分,esp8266是具有接收中断的,但我们无法编写中断服务函数,只能采用轮询的方式,代码如下。
void loop()
{
if(Serial.available()){
//缓存区中还有数据
UsartCallBack(); //串口处理函数
}
}
/*
*函数: 串口处理函数
*输入: None
*输出: None
*/
void UsartCallBack(void){
char ch; // 储存收到的字符串
unsigned char num = 1;
char usart_buff[USART_BUFF_LEN] = {
0};
char recv_buff[USART_BUFF_LEN] = {
0};
unsigned char usart_index = 0;
// num = Serial.readBytes(usart_buff,USART_BUFF_LEN);
do{
ch = Serial.read();
// Serial.write(ch);
usart