ESP32学习笔记-CRC16_Modbus校验

写在前面

Modbus一个工业上常用的通讯协议、一种通讯约定。

Modbus协议包括RTU、ASCII、TCP。

单片机与设备进行RS485通讯,大部分使用的是MODBUS-RTU通讯协议。

开发板通过串口发送MODBUS-RTU报文,CRC校验码是一道绕不开的门槛。

安装CRC库

测试代码

#include "CRC16.h"  //加载库

uint8_t arr[6] = { 0x01, 0x06, 0x00, 0x42, 0x01, 0xF4 };  //定义数据包

//创建对象
CRC16 crc(CRC16_MODBUS_POLYNOME,
          CRC16_MODBUS_INITIAL,
          CRC16_MODBUS_XOR_OUT,
          CRC16_MODBUS_REV_IN,
          CRC16_MODBUS_REV_OUT);

void setup() 
{
  //启用串口
  Serial.begin(9600);   

  //加载数据包
  crc.add(arr,sizeof(arr)); 

  //计算
  uint16_t a = crc.calc();

  //拆分
  uint8_t bb[2];
	//高8位
	bb[0] = (a >> 8) & 0XFF;
	//低8位
	bb[1] = a & 0XFF;

  //打印高8位
  Serial.println(bb[0], HEX);
  //打印高8位
  Serial.println(bb[1], HEX);

}

void loop() 
{


}

总结

本示例通过调用CRC库,生成数据包的CRC校验码,并将高低位进行拆分打印。

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: esp32-wroom-32e_devkitc 是一款基于 ESP32-WROOM-32E 模组的开发板,它采用了开放源代码的 ESP-IDF 开发框架,支持 Wi-Fi 和蓝牙通信。中文参考手册为开发者提供了详细的技术规格和使用指南。 这份参考手册首先介绍了 ESP32-WROOM-32E 模组的硬件组成和技术规格。模组具有双核 Tensilica LX6 处理器,主频高达 240MHz,支持多种外设接口,如 GPIO、UART、SPI、I2C 等,使其具备了丰富的扩展性。此外,模组还具备 Wi-Fi 802.11 b/g/n/e/i 和蓝牙 4.2 支持。 接着,参考手册详细介绍了如何搭建开发环境和配置开发板。它详细阐述了如何下载和安装 ESP-IDF 开发框架,以及如何配置开发环境和编译项目。开发者可以按照参考手册提供的步骤来快速搭建开发环境。 在使用手册的后续部分,详细描述了开发板的各个方面。它包括如何使用 Wi-Fi 进行连接和通信,如何使用蓝牙进行数据传输,以及如何通过 GPIO 与外部设备进行交互等。此外,手册还提供了丰富的示例代码和代码解释,帮助开发者更好地理解和应用相关功能。 最后,手册还介绍了开发板的固件更新方法,以及一些建议和常见问题解答。开发者可以根据手册中提供的信息和指南来解决常见问题,也可以参考手册获取开发者社区的相关资源和支持。 综上所述,esp32-wroom-32e_devkitc 中文参考手册是一份非常详细和全面的开发指南,可以帮助开发者快速上手和开发基于 ESP32-WROOM-32E 的应用程序。 ### 回答2: esp32-wroom-32e_devkitc 中文参考手册是一个详细介绍 ESP32-WROOM-32E 开发板的使用手册。手册从硬件介绍、软件开发环境搭建、编程语言和连接方式等多个方面对开发板进行了全面讲解。 首先,手册介绍了 ESP32-WROOM-32E 开发板的硬件配置,包括板载的芯片、外设、接口等。通过详细的硬件介绍,开发者可以了解到开发板的基本构造和硬件特性,为后续的软件开发提供基础。 接着,手册详细介绍了软件开发环境的搭建过程。它包括了开发环境的安装方法、编译调试工具的配置以及对应的驱动程序等。开发者可以按照手册中的指引,快速搭建开发环境,并开始进行软件开发。 在编程方面,手册提供了多种编程语言的使用说明,包括 C 语言和 MicroPython。每种语言都有详细的语法介绍和示例代码,方便开发者快速上手。此外,手册还介绍了如何使用各种库函数和API接口,以及涉及到的常用开发工具和调试方法。 最后,手册还展示了一些常见的连接方式和示例应用,例如如何与传感器、无线通信模块和云平台进行连接,并进行数据传输和控制。这些示例可以帮助开发者理解和应用 ESP32-WROOM-32E 开发板在实际项目中的应用场景。 总之,esp32-wroom-32e_devkitc 中文参考手册对 ESP32-WROOM-32E 开发板进行了全面而详尽的介绍,包括硬件和软件开发环境,编程语言和连接方式等。对于使用这款开发板的开发者来说,手册是一份非常宝贵的参考资料,可以帮助他们快速入门和顺利开展项目开发。 ### 回答3: ESP32-WROOM-32E DevKitC是一种基于ESP32-WROOM-32E模组的开发板,它集成了丰富的功能和接口,方便开发者进行硬件和软件开发。 这份中文参考手册为使用者提供了关于开发板硬件和软件方面的详细信息和指导。首先,手册介绍了开发板的硬件组成,包括主控芯片、存储器、引脚布局等。通过详细的图表和说明,使用者可以清楚了解各个组件的功能和连接方式。 接下来,手册介绍了开发板的软件开发环境搭建,包括开发工具的安装、驱动程序的配置等。使用者可以按照手册提供的步骤,轻松地搭建好开发环境,为后续的软件开发做好准备。 手册还提供了关于开发板的软件开发方法和示例代码。使用者可以了解如何使用ESP-IDF开发框架进行开发,并按照示例代码进行实验和测试。手册中还提供了丰富的代码注释和详细的参数说明,帮助使用者理解代码逻辑和功能实现。 此外,手册还包含了开发板的测试和调试方法,以及对常见问题的解答。这些信息可以帮助使用者在开发过程中遇到问题时迅速定位和解决,提高开发效率。 总而言之,ESP32-WROOM-32E DevKitC中文参考手册为使用者提供了全面的开发指南,包含了硬件和软件方面的详细信息和指导。使用者可以通过这份手册,快速上手开发,实现自己的创意和想法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值