大棒棒猪
获得 32 次赞
帮助过56人
你接收到的是一串unsigned char 的字符。1、如果每次的位置不变可以直接通过位置来取出2678.2、看你这个应该是什么检测环境的数据,可以相对TVOC和eCO2的位置来取出数据。3、得到了一个unsigned char的数组之后。int meatured_value = (USART2_RX_BUF[0]-0x30)*1000+(USART2_RX_BUF[1]-0x30)*100+(USART2_RX_BUF[2]-0x30)*10+(USART2_RX_BUF[3]-0x30);即可
可以的。你可以通过一个平台,然后手机连接到平台,你的esp8266也连接到平台就可以了。也可以自己弄个服务器,现在阿里、腾讯、华为等好多服务器。大概做法如下:1、服务器上挂一个tcp server监听某端口,并具有转发功能,具体协议自己弄就可以。2、手机下一个tcp 连接的APP。这样就可以直接连接到服务器的IP和端口。3、esp8266设置连接wifi后,也通过tcp连接到服务器,这样两者就通过服务器达成了相互连接。4、可以看看网上的tcp聊天室。原理大概也是这样,先开启一个服务器,监听某端口,然后将所有收到的消息,进行甄别。当然,自己手机开启热点,然后esp8266连接后,esp8266做服务器也行,然后你手机做客户端连上你的esp8266,这样也可以,但是只能。
为什么不用sprintf呢?这么好用。下面是不用sprintf的。int a=1024;unsinged char num[5]={};num[0]=a/1000+48;num[1]=a/100%10+48;num[2]=a/10%100+48;num[3]=a%10+48;感觉上面的取位可能有点点问题。。。.。分别取出个位十位百位千位等等。每个为加上48是为了转换成ascii的的数字。字符0对应ascii为48