https://www.cnblogs.com/yangfengwu/p/11100552.html
这节做个上位机控制Wi-Fi引脚输出的PWM占空比信号,灯的亮度就可以用上位机控制了
大家可以自己扩展程序控制舵机的旋转角度
双击
textBox3.Text = trackBar1.Value.ToString();//显示当前滑动条的值
然后规定下协议 注意为了大家以后做项目的通用性 数据传输用
讲一个知识点
大家传输十进制数据怎么传输的,,传输浮点型数据怎么传输的 大家百度下IEEE754
看一下用它做数据转换的妙用
我直接说了
假设你要发送220.5
这样做
咱们新建一个data_dispose.h文件
为了预防别人用我的源码在C++里面编译
typedef union Resolve//解析数据 { char Data_Table[4];//16进制四字节表示形式 float DataF;//浮点型 long DataInt;//有符号整形 unsigned long DatauInt;//无符号整形 }ResolveData;
现在看使用
假设我采集了仪器仪表 仪器仪表就是IEEE754规范 发过来的220.5的 浮点型数据 0x43 0x5C 0x80 0x00
我现在需要转化为220.5
注意一件事情 0x43 0x5C 0x80 0x00 是高位数据在前
举个例子:259
化为16进制表示是 0x01 0x03 这样排序就是高位在前
16进制怎么转成259呢 就是 0x01==1 1乘于2的8次方 再 加上 0x03 就是 3
1*256 + 3 = 259
如果计算完以后内存里面是这样存储的
说个名词:大端模式
如果数据的高位存储在了存储地址的低位 数据的低位存储在了存储地址的高位 -----名称:大端模式
与之相反的是小端模式
数据的低位存储在了存储地址的低位 数据的高位存储在了存储地址的高位 -----名称:小端模式
如果你做过仪器仪表,或者用过仪器仪表 应该知道,工业里面经常用到
然后提醒一下
51单片机存储数据是大端模式
STM32 是小端模式
电脑:小端模式
手机:好像是大端模式...忘记了
咱用的这个8266 小端模式
有人可能会问,具体怎么看出来的....
接着看
首先要记着
注意一件事情 0x43 0x5C 0x80 0x00 是高位数据在前 低位数据在后
刚才我测试了下,官方给的printf不支持打印浮点数.......
所以我自己写了个printf功能
void sendstring(unsigned char *string)//此处*string相当于数组 { while(*string!='