https://www.cnblogs.com/yangfengwu/p/11102026.html

首先规定下协议  ,CRC16就不加了哈,最后我会附上CRC16的计算程序,大家有兴趣自己加上

上位机发送:

0xaa 0x55  0x03  占空比(四字节)  低位在前  高位在后

注意哈:其实仪器仪表 高位在前 低位在后 用的多  由于咱的单片机和上位机都是小端,咱为了方便所以那样规定的协议

其实只要明白了原理  自己调换就可以

单片机解析协议,然后修改占空比

先用调试助手发几个数据测试一下

aa 55 03 E8 03 00 00           1000

aa 55 03 F4 01 00 00            500

aa 55 03 64 00 00 00            100

aa 55 03 00 00 00 00             0

      

     

     

给大家C语言计算CRC的程序

/**
* @brief 计算CRC
* @param *modbusdata:数据指针
* @param length:数据长度
* @param
* @retval 计算的CRC值
* @example
**/
int crc16_modbus(u8 *modbusdata, int length)
{
int i, j;
int crc = 0xffff;//有的使用0
for (i = ; i < length; i++)
{
crc ^= modbusdata[i];
for (j = ; j < ; j++)
{
if ((crc & 0x01) == )
{
crc = (crc >> ) ^ 0xa001;
}
else
{
crc >>= ;
}
}
} return crc;
} /**
* @brief 判断数据的CRC校验是否正确
* @param *modbusdata:数据指针
* @param length:数据长度
* @param
* @retval 1 正确 0 错误
* @example
**/
int crc16_flage(u8 *modbusdata, int length)
{
int Receive_CRC=,calculation=;//接收到的CRC,计算的CRC Receive_CRC = crc16_modbus(modbusdata, length);
calculation = modbusdata[length+];
calculation <<= ;
calculation += modbusdata[length];
if(calculation != Receive_CRC)
{
return ;
}
return ;
}

好了下节再做上位机程序

https://www.cnblogs.com/yangfengwu/p/11105466.html

14-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,8266程序编写的更多相关文章

  1. 13-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,IEEE754规约

    https://www.cnblogs.com/yangfengwu/p/11100552.html 这节做个上位机控制Wi-Fi引脚输出的PWM占空比信号,灯的亮度就可以用上位机控制了 大家可以自己 ...

  2. 15-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,上位机程序编写

    https://www.cnblogs.com/yangfengwu/p/11104167.html 先说一下整体思路哈.. 咱滑动的时候 会进入这个,然后咱呢不直接从这个里面写发送 因为这样的话太快 ...

  3. 10-ESP8266 SDK开发基础入门篇--上位机通过串口控制ESP8266灯亮灭

    https://www.cnblogs.com/yangfengwu/p/11087618.html 其实这一节就是对上三节的综合测试 https://www.cnblogs.com/yangfeng ...

  4. 24-ESP8266 SDK开发基础入门篇--Android TCP客户端.控制 Wi-Fi输出PWM的占空比,调节LED亮度

    https://www.cnblogs.com/yangfengwu/p/11204436.html 刚才有人说需要点鸡汤.... 我想想哈;我还没问关于哪方面的鸡汤呢!!! 我所一直走的路线 第一: ...

  5. 21-ESP8266 SDK开发基础入门篇--C# TCP客户端 , 控制LED亮灭

    https://www.cnblogs.com/yangfengwu/p/11192603.html 由于是台式机,,没有插无线网卡...所以呢我就用调试助手监控下数据 后期让WIFI连接路由器的时候 ...

  6. 9-ESP8266 SDK开发基础入门篇--编写串口上位机软件

    https://www.cnblogs.com/yangfengwu/p/11087613.html 页面修改成这样子             现在看串口发送数据 点击点亮 发送0xaa 0x55 0 ...

  7. 12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯

    https://www.cnblogs.com/yangfengwu/p/11094085.html PWM其实没有什么,就是看着官方给的API,,,然后就是用呗 对了,其实对于RTOS SDK版本的 ...

  8. 7-ESP8266 SDK开发基础入门篇--串口处理数据,控制LED

    接着上一节的写 咱先做一个单片机串口接收到什么就回过来什么 咱自己写个发送函数,其实就是仿照官方的写的 别忘了 现在咱建个任务处理串口数据 下载进去 现在是三个任务都在运行了...操作系统是不是很神奇 ...

  9. 1-ESP8266 SDK开发基础入门篇--开发环境搭建

    因为今天终于做好了自己的另一块工控板,所以我就开始写基础公开篇的内容,希望自己小小的努力能够帮到大家 自己做的另一块板子 https://www.cnblogs.com/yangfengwu/cate ...

随机推荐

  1. jdbc 简单示例和优缺点

    一个使用JDBC的例子: Class.forName("com.mysql.cj.jdbc.Driver"); //加载驱动 Connection connection = Dri ...

  2. 论DOM中文档和元素的位置大小属性及其区别

    element.offsetLeft/Top  获取元素相对于最近的有定位的父元素的坐标,如果没有有定位的父元素,则是文档坐标 element.scrollTop/Left 获取元素滚动卷去的距离 e ...

  3. IDEA设置虚拟机参数

    第一步:打开“Run->Edit Configurations”菜单 第二步:选择“VM Options”选项,输入你要设置的VM参数 第三步:点击“OK”.“Apply”后设置完成

  4. Java中Date、String、Calendar类型之间的转化

    1.Calendar 转化 String   //获取当前时间的具体情况,如年,月,日,week,date,分,秒等   Calendar calendat = Calendar.getInstanc ...

  5. nginx.conf配置demo

    #user nobody; worker_processes 4; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  6. JavaScript判断是否是正确数值 isNaN

    NaN在JavaScript中表示不是数字 JavaScript中isNaN函数方法是返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字). 使用方法:isNaN(numVal ...

  7. postgreSQL 备份+还原多张表

    -U表示用户 -h表示主机 -p表示端口号 -t表示表名 -f表示备份后的sql文件的名字 -d表示要恢复数据库名 一.打开cmd 进入postgresql安装路径下的bin文件夹,以我的为例: cd ...

  8. 混沌理论(Chaos theory)和非线性系统

    混沌理论(Chaos theory)是关于非线性系统在一定参数条件下展现分岔(bifurcation).周期运动与非周期运动相互纠缠,以至于通向某种非周期有序运动的理论.在耗散系统和保守系统中,混沌运 ...

  9. RStudio中安装factoextra包的问题

    最近在做一个R语言的小作业,其中聚类分析部分需要用到factoextra安装包,在RStudio中输入install.packages("factoextra")之后,就一直出现“ ...

  10. VUE基础回顾2

    1.响应式 vue修改了每个添加到data上的对象,当该对象发生变化时vue会收到通知,从而实现响应式.对象的每个属性都会被替换为getter,setter方法. 有两种方式实现data对象的监听 ( ...