|
发表于 2017-5-9 15:17:22
|
显示全部楼层
本帖最后由 captainandy 于 2017-5-9 16:38 编辑
现在我用t表示温度值,用t代替0x08,写出来就是
unsigned char hexdata[8] = {0xFF,0x63,0x00,t,0xFF};
现在不知道用十进制的t直接放在数据位行不行?还是得先转换为十六进制?
还有一个状况,现在数据上传是成功的,但是只要数据上传的代码启用,小车就不能被控制。只有屏蔽上传温度的代码才可以控制小车。这又是什么问题,怎么解决呢?是wifi模块双向数据的问题么?
代码是这样的
void temperature_check() //温度监控
{
int n = analogRead(A0); //读取A0口的电压值
float aa = n * (5.0/1023.0*100); //使用浮点数存储温度数据,温度数据由电压值换算得到
unsigned char hexdata[8] = {0xFF,0x63,0x00,n,0xFF};
Serial.write(hexdata, 8);
Serial.println(aa); //串口输出温度数据
delay(1000); //等待1秒,控制刷新速度
}
void setup() {
Serial.begin(9600); //使用9600速率进行串口通讯
}
void loop()
{
while(1)
{
temperature_check();
}
}
|
|