当前位置: 首页 > news >正文

网站怎样做 文件签收客户管理软件哪家好

网站怎样做 文件签收,客户管理软件哪家好,网站的图片怎么更换,哪家网站推广做的好测试平台#xff1a;STM32G474系列 STM32硬件的CRC不占用MCU的资源#xff0c;计算速度快。由于硬件CRC需要配置一些选项#xff0c;配置不对就会导致计算结果错误#xff0c;导致使用上没有软件计算CRC方便。但硬件CRC更快的速度在一些有时间资源要求的场合还是非…测试平台STM32G474系列         STM32硬件的CRC不占用MCU的资源计算速度快。由于硬件CRC需要配置一些选项配置不对就会导致计算结果错误导致使用上没有软件计算CRC方便。但硬件CRC更快的速度在一些有时间资源要求的场合还是非常适合没计算时间要求的还是用软件CRC更方便通用。 1.软件CRC16代码 //***************************************************************************** // //! 计算所选 CRC 多项式的 16 位 CRC。 //! \fn uint16_t calculateCRC(const uint8_t dataBytes[], uint8_t numberBytes, uint16_t initialValue) //! //! \param dataBytes[] 指向数据字节数组中第一个元素的指针 //! \param numberBytes CRC计算中使用的字节数 //! \param initialValue 初始值第一次使用时使用0xFFFF循环计算时输入上一次的结果 //! \return 16-bit CRC16 结果 // //***************************************************************************** uint16_t calculateCRC(const uint8_t dataBytes[], uint8_t numberBytes, uint16_t initialValue) {int bitIndex, byteIndex;bool dataMSb; bool crcMSb; uint8_t bytesPerWord wlength_byte_values[WLENGTH];uint16_t crc initialValue;#ifdef CRC_CCITT //多项式公式/* CCITT CRC polynomial x^16 x^12 x^5 1 */const uint16_t poly 0x1021;#endif#ifdef CRC_ANSI/* ANSI CRC polynomial x^16 x^15 x^2 1 */const uint16_t poly 0x8005;#endiffor (byteIndex 0; byteIndex numberBytes; byteIndex){bitIndex 0x80u;while (bitIndex 0){dataMSb (bool) (dataBytes[byteIndex] bitIndex);crcMSb (bool) (crc 0x8000u);crc 1; if (dataMSb ^ crcMSb){crc ^ poly; }bitIndex 1;}}return crc; } 2.STM32CubeMX CRC配置 ①选择 CRC 并开启 ②这里选择以CRC16来测试 ③多项式用于计算CRC16时的多项式这个可以后面在生成的代码里面直接改。 ④计算时的初始值软件计算代码那边对应的是 initialValue 参数。 配置完成后生成代码 \Core\Src 路径下找到生成的工程里面的 crc.c文件 在以下代码中修改多项式的参数 多项式参数根据多项式公式算成对应的 16进制值然后赋值。 void MX_CRC_Init(void) {/* USER CODE BEGIN CRC_Init 0 *//* USER CODE END CRC_Init 0 *//* USER CODE BEGIN CRC_Init 1 *//* USER CODE END CRC_Init 1 */hcrc.Instance CRC;hcrc.Init.DefaultPolynomialUse DEFAULT_POLYNOMIAL_DISABLE;hcrc.Init.DefaultInitValueUse DEFAULT_INIT_VALUE_DISABLE;hcrc.Init.GeneratingPolynomial 0x1021; //在这里修改多项式hcrc.Init.CRCLength CRC_POLYLENGTH_16B;hcrc.Init.InitValue 0xFFFF; //在这里修改初始值hcrc.Init.InputDataInversionMode CRC_INPUTDATA_INVERSION_NONE;hcrc.Init.OutputDataInversionMode CRC_OUTPUTDATA_INVERSION_DISABLE;hcrc.InputDataFormat CRC_INPUTDATA_FORMAT_BYTES;if (HAL_CRC_Init(hcrc) ! HAL_OK){Error_Handler();}/* USER CODE BEGIN CRC_Init 2 *//* USER CODE END CRC_Init 2 */} 多项式值的计算或获取 直接获取http://www.ip33.com/crc.html 可以通过以上网站直接计算CRC值和获取对应多项式的16进制值。 如这次实验使用的多项式 CRC-16/CCITT     x16 x12 x5 1 自己计算CRC-16/CCITT     x16 x12 x5 1 x16 x12 x5 1 表示的是一个二进制数 x16表示第16位是1 x12表示第12位是1x5表示第5位是1其余的位置都是0。 二进制位值是从0开始计数。对应二进制值如下 x16 x12 x5 1   0001   0000  0010  0000 0x11020 x16 x12 x5 1  0x11020 1  0x11021 由于是CRC16 所以取2个字节值 0x1021 3.CRC 库函数 参考链接https://blog.csdn.net/usjjjsj/article/details/141832938 uint32_t HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength) 以上一次CRC校验的结果作为初始值继续进行校验 适用于连续多次校验的第2、3、4... ...次 *hcrc 指向 CRC_HandleTypeDef CRC 校验总控制结构体的指针pBuffer待校验的数据BufferLength待校验的数据长度返回值校验结果         该函数在第一使用时需要调用HAL_CRC_Calculate计算出第一次数据的校验位然后由第一位的数据位的校验位作为下一位的的初始值。计算出最后一位的数据位作为整个传递数据的校验位。 uint32_t HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength) 使用默认初始值进行校验计算 适用于单次校验 或 多次校验的第一次 该函数一次性将全部数据的校验位检测出来且初值仍为0xFFFFFFFF或者CRC初始化时配置的初始值。 HAL_CRC_StateTypeDef HAL_CRC_GetState(CRC_HandleTypeDef *hcrc) 获取状态的函数 HAL_CRC_StateTypeDef HAL_CRC_GetState(CRC_HandleTypeDef *hcrc 返回值CRC校验总控制结构体内的 State 值 HAL_CRC_STATE_RESET  尚未初始化 HAL_CRC_STATE_READY 初始化并准备使用 HAL_CRC_STATE_BUSY 忙 HAL_CRC_STATE_TIMEOUT 超时 HAL_CRC_STATE_ERROR 错误 4.CRC计算 经过以上配置后通过软件计算的CRC和硬件计算的CRC将获得相同的结果如果有高低字节不同可以自己调整一下。 HAL_CRC_Calculate //硬件计算 calculateCRC //软件计算文章开始有对应的代码。 网站在线计算可作计算结果的对照http://www.ip33.com/crc.html 感谢这两位博主的文章在这两份文章的帮助下我成功的通过硬件CRC计算出了正确的值。 https://blog.csdn.net/usjjjsj/article/details/141832938 https://blog.csdn.net/13011803189/article/details/122366072
http://www.tj-hxxt.cn/news/134860.html

相关文章:

  • 手机网站图片切换特效wordpress如何qq登录界面
  • wordpress仿站抓取软件网站推广的作用是什么
  • 广告网站建设目标东莞本地招聘网
  • 国际贸易英文网站网站特效js代码
  • 青岛网站关键词优化公司成都市郫都区
  • 拖拽响应式网站建设公司科技团队网站
  • 招聘网站怎么做线下活动深圳网站制作公司电话
  • 网页网站建设软件有哪些卖手表的网站
  • 怎么免费自己做网站做网站开发的有哪些公司好
  • 网站建设维护内容php网站建设案例教程视频教程
  • 做团购网站的公司浙江杰立建设集团 网站首页
  • 阿里巴巴网站上面产品描述一般怎么做的wordpress部署云
  • 搭建网站 开源软件考研资料找微信hyhyk1推广可以
  • asp网站建设实录常州承接网站建设
  • 免费模板简历网站做关于家乡的网站
  • 有哪些做伦敦金的网站wordpress视频主题模板下载
  • 注册建设网站的公司网站代码添加在网站的什么位置
  • 长沙哪家网站公司西安品牌策划
  • 用wordpress做购物网站php做网站如何
  • 网站免费源码大全虚拟主机可以建设什么网站
  • 网站开发用技术wordpress 自动发文章
  • 宁波本地网站排行广告制作公司如何开展业务
  • 无锡企业如何建网站玉林专业网站建设
  • 墨子网站建设娄底公司网站建设
  • 哪个做简历的网站比较好手机模板网站生成制作
  • dede网站 远程生成wordpress lens 模板币
  • 网站建设服务商 需要什么主机3d家装效果图制作软件
  • 中国建设银行网站公积金查询余额万维网注册域名后怎么导入网站
  • 江都建设局网站lnmp搭建网站
  • 网站建设各语言优点兰州市城乡建设局网站通知公告