今天看了前面发表的文章,想着自己从暑期到现在的学习经历,感觉很有收获,我多了很多自主学习的经历以及经验。尤其看着浏览人数的增加,我很有成就感。
首先:
1. dht11的工作过程和原理以及使用
2.心率传感器、烟雾传感器MQ-2的介绍和使用
3.esp8266的介绍和使用,以及网络知识,AT指令集(实例)
4.云服务器(sscom5.13.1)使用esp8266的操作
5.网关协议的学习
6.嵌入式C语言
7.思考真实环境下,与流浪动物的互动
接着:
1.CRC16 校验,一些标准还是不懂
public short Caculate(byte[] msg)
//byte[]是Java里的字节型数组;
//可以这样赋值:byte [] k={1,1,1,1,1,1,};
//也可以 byte [] k=new byte[size];size表示数组中变量的个数!
{
short crc = (short) 0xFFFF;
int i, j;
boolean c15, bit;
//0xFFFF:0x16进制,一个F代表4个1,0xFFFF,就是 -1了.
for (i = 0; i < msg.length; i++) { //i小于数据的长度
for (j = 0; j < 8; j++) {
c15 = ((crc >> 15 & 1) == 1); //就是评判标准
bit = ((msg[i] >> (7 - j) & 1) == 1);
crc <<= 1;
if (c15 ^ bit) crc ^= 0x1021;
}
}
//java里面的>>(右移运算符)就是把要移动的数转换成2进制,
//右移几位就去掉右边的几位数,(<<(左移)左移几位就在右边加几个0),
//比如14右移2位就是转成二进制变成1110,去掉右边的10,变成11,
//11转成十进制就是3;左移2位就是111000,转成十进制就是56。
return crc;
}
2.没有找到上传版本信息的函数模板
3.嵌入式C语言的基本信息仍然能不够熟悉,希望有时间可以学习相应的基础书籍