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

时间:2023-03-09 02:55:19
14-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,8266程序编写

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

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

上位机发送:

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

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

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

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

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

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

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

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

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

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

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

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

给大家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