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

STM32F4、GD32F4 内部硬件CRC使用方法和踩坑实录

背景

某项目用到了IC卡刷卡启动功能,程序中对读取IC卡的相关数据后要进行CRC校验,本文介绍如何在STM32F4 GD32F4 平台上使用标准库函数进行CRC硬件校验。

 摘要

本文介绍如何在STM32F4、GD32F4 平台上使用标准库函数进行CRC硬件校验。包括容易出现的问题和解决方法。涉及STM32F4、GD32F4硬件CRC计算错误等问题的解决方法。

运行开发环境介绍

硬件环境

GD32F407

J-LINK  V11

软件开发环境

IAR 8.32.1 

VSCODE 

软件支持包ST官方标准库

上代码:

硬件CRC相关的函数在如下文件中

stm32f2xx_crc.c

工程中通过 引用

#include "stm32f2xx.h"

来实现间接引用

#include "stm32f2xx_crc.h"

因为stm32f2xx.h 中有关于

相关文章:

STM32F4、GD32F4 内部硬件CRC使用方法和踩坑实录

背景 某项目用到了IC卡刷卡启动功能,程序中对读取IC卡的相关数据后要进行CRC校验,本文介绍如何在STM32F4 GD32F4 平台上使用标准库函数进行CRC硬件校验。 摘要 本文介绍如何在STM32F4、GD32F4 平台上使用标准库函数进行CRC硬件校验。包括容易出现的问题和解决方法。涉及STM3…...

【SpringBoot】序列化和反序列化介绍

一、认识序列化和反序列化 Serialization(序列化)是一种将对象以一连串的字节描述的过程;deserialization(反序列化)是一种将这些字节重建成一个对象的过程。将程序中的对象,放入文件中保存就是序列化&…...

Android 升级软件后清空工厂模式测试进度

Android 升级软件后清空工厂模式测试进度 最近收到项目需求反馈:升级软件后,进入工厂模式测试项,界面显示测试项保留了升级前的测试状态(有成功及失败),需修改升级软件后默认清空测试项测试状态,具体修改参照如下: /…...

Promise原理、以及Promise.race、Promise.all、Promise.resolve、Promise.reject实现;

为了向那道光亮奔过去,他敢往深渊里跳; 于是今天朝着Promise的实现前进吧,写了四个小时,终于完结撒花; 我知道大家没有耐心,当然我也坐的腰疼,直接上代码,跟着我的注释一行行看过去…...

mysql---MHA(高可用)

MHA概述 magterhight availabulity :基于主库的高可用环境下,主故障切换基础要求:主从架构 (一主两从)解决mysql的单点故障问题,一旦数据库崩溃,MHA会在0-30s内这东东完成故障切换。复制方式:半…...

人工智能基础_机器学习032_多项式回归升维_原理理解---人工智能工作笔记0072

现在开始我们来看多项式回归,首先理解多维 原来我们学习的使用线性回归,其实就是一条直线对吧,那个是一维的,我们之前学的全部都是一维的对吧,是一维的,然后是多远的,因为有多个x1,x2,x3,x4... 但是比如我们有一个数据集,是上面这种,的如果用一条直线很难拟合,那么 这个时候,…...

C#截取范围

string[] strs new string[]{"1e2qe","23123e21","3ewqewq","4fewfew","5fsdfds"};var list strs[1..2];Range p 0..3;var list strs[Range];...

用 winget 在 Windows 上安装 kubectl

目录 kubectl 是什么? 安装 kubectl 以管理员身份打开 PowerShell 使用 winget 安装 kubectl 测试一下,确保安装的是最新版本 导航到你的 home 目录: 验证 kubectl 配置 kubectl 是什么? kubectl 是 Kubernetes 的命令行工…...

1 Supervised Machine Learning Regression and Classification

文章目录 Week1OverViewSupervised LearningUnsupervised LearningLinear Regression ModelCost functionGradient Descent Week2Muliple FeatureVectorizationGradient Descent for Multiple RegressionFeature ScalingGradient DescentFeature EngineeringPolynomial Regress…...

Antv/G2 折线图 DataSet 数据展开成指定格式

DataSet 文档 G2 3.2 DataSet 文档 Demo&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><m…...

物理问题中常见的分析问题----什么样的函数性质较好

物理问题中常见的积分符号位置交换问题 重极限与累次极限 高数下的定义 累次极限&#xff1a;求极限时需要遵循一定的顺序重极限&#xff1a;任意方向趋于的极限 两者之间的关系&#xff1a; 两者没啥关系存在累次极限存在而不相等的函数...... 求和符号与积分符号互换--逐项积…...

8 Go的函数

概述 在上一节的内容中&#xff0c;我们介绍了Go的指针&#xff0c;包括&#xff1a;使用指针、空指针、指针数组、指向指针的指针等。在本节中&#xff0c;我们将介绍Go的函数。函数允许开发者将相关的代码组织在一起&#xff0c;并将其命名&#xff0c;以便在其他地方进行调用…...

算法笔记-第九章-二叉树的遍历(待整理)

算法笔记-第九章-二叉树的遍历 二叉树的先序遍历二叉树的中序遍历二叉树的先序遍历 //二叉树的先序遍历 #include <cstdio> #include <vector> using namespace std;const int MAXN = 50;struct Node //用结构体表示左子树和右子树的数据 {int l, r; } nodes[MAXN]…...

C语言从入门到精通之【字符串】

C语言没有专门用于储存字符串的变量类型&#xff0c;字符串都被储存在char类型的数组中。数组由连续的存储单元组成&#xff0c;字符串中的字符被储存在相邻的存储单元中&#xff0c;每个单元储存一个字符&#xff0c;每个字符占1个字节。 数组末尾位置的字符\0。这是空字符&am…...

超详细!必看!!STM32--时钟树原理

一、什么是时钟&#xff1f; 时钟是单片机的脉搏&#xff0c;是系统工作的同步节拍。单片机上至CPU&#xff0c;下至总线外设&#xff0c;它们工作时序的配合&#xff0c;都需要一个同步的时钟信号来统一指挥。时钟信号是周期性的脉冲信号。 二、什么是时钟树&#xff1f; S…...

用 Golang 采集 Nginx 接口流量大小

简介 在开发和运维中&#xff0c;我们经常需要监控和分析服务器的接口流量大小&#xff0c;特别是对于部署了 Nginx 的服务器。本文将介绍如何使用 Golang 采集 Nginx 接口流量大小&#xff0c;并展示如何将这些数据进行实时监控和分析。 步骤一&#xff1a;准备工作 在开始…...

Linux java jar启停脚本(合并版)

#包文件路径及名称(目录按照各自配置) APP_NAME=/opt/whkc/gs/app-java.jar#查询进程,并杀掉当前jar/java程序 pid=`ps -ef|grep app-java.jar | grep -v grep | awk {print $2}` kill...

计算机毕业设计选题推荐-公共浴池微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

sqli-labs关卡13(基于post提交的单引号加括号的报错盲注)通关思路

文章目录 前言一、回顾第十二关知识点二、靶场第十三关通关思路1、判断注入点2、爆显位3、爆数据库名4、爆数据库表5、爆数据库列6、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;…...

SparkAi创作系统ChatGPT网站源码+详细搭建部署教程+AI绘画系统+支持GPT4.0+Midjourney绘画

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…...

魔法方法 __init__ 与 __new__ 的区别与使用场景

前言在 Python 中&#xff0c;魔法方法&#xff08;也叫特殊方法&#xff09;以双下划线开头和结尾&#xff0c;例如 __init__、__new__、__str__ 等。它们赋予了类许多“隐形”的能力&#xff0c;让我们能够像操作内置类型一样操作自定义对象。当谈到对象创建时&#xff0c;__…...

hgproxy4.0.35.0之前版本数据库连接卡在parse状态

文章目录环境症状问题原因解决方案环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;4.5.10 症状 查询数据库后台连接进程&#xff0c;发现主备节点均有超过几天的长连接&#xff0c;且状态卡在parse状态 问题原因 数据库会话sql出错后…...

STM32F103定时器中断实战:从main.c到stm32f10x_it.c的保姆级配置流程

STM32F103定时器中断实战&#xff1a;从工程搭建到精准控制的完整指南 在嵌入式开发领域&#xff0c;定时器中断是解放CPU资源、实现精准时间控制的核心技术。对于STM32F103这款经典微控制器而言&#xff0c;掌握其定时器中断配置流程&#xff0c;意味着能够摆脱阻塞式延时函数…...

DSQC346G 3HAB8101-8 机器人伺服驱动单元

DSQC346G 3HAB8101‑8 机器人伺服驱动单元介绍DSQC346G&#xff08;3HAB8101‑8&#xff09;是一款专用于工业机器人伺服系统的驱动单元&#xff0c;用于控制伺服电机的运动与输出&#xff0c;实现机器人关节或轴的精确位置、速度和力矩控制&#xff0c;是机器人驱动链中的核心…...

当AI走进柴米油盐:我们的生活正在发生怎样的改变?

当清晨的AI闹钟根据你的睡眠周期轻声唤醒&#xff0c;通勤导航提前规避了突发拥堵的路段&#xff0c;办公软件里的AI一键生成了会议纪要与数据报表&#xff0c;回家路上智能家电已提前调好室温与灯光&#xff0c;睡前AI陪练帮孩子巩固了当天的知识点&#xff0c;也为独居的父母…...

桌面高颜值时钟工具,支持置顶鼠标穿透

软件介绍 今天要说的这款工具叫WithClock&#xff0c;它是一个时钟工具。这款工具的设计特别简洁&#xff0c;看着很舒服&#xff0c;没什么多余的东西&#xff0c;颜值也挺高。 功能操作 它支持鼠标穿透&#xff0c;你只需要在时钟上点右键&#xff0c;选择“置顶”&#xf…...

安卓应用按钮样式问题及解决方案

在开发安卓应用的过程中,我们常常会遇到一些看似简单但实际上隐藏着复杂问题的样式问题。今天我们来探讨一个在更换设备后按钮样式发生变化的问题。 问题描述 一位开发者在Android Studio中开发了一个食谱应用。当他从一台手机切换到另一台手机运行应用时,发现所有的按钮都…...

Qwen3-14B企业知识图谱构建:从私有文档抽取实体关系实践

Qwen3-14B企业知识图谱构建&#xff1a;从私有文档抽取实体关系实践 1. 企业知识图谱构建概述 在当今企业数字化转型浪潮中&#xff0c;知识图谱作为结构化知识表示的重要方式&#xff0c;正成为企业知识管理的核心基础设施。传统知识图谱构建需要大量人工标注和规则设计&…...

前后端时间数据类型不一致如何解决

本文分析了前端和后端时间数据类型的不一致性&#xff0c;并提供了具体的解决方案。问题的根源是后端返回的时间数据类型与前端预期类型不一致&#xff0c;导致前端无法直接处理。后端采用Javatimestamp类型和MySQLdatetime类型存储时间&#xff0c;前端typescript定义createti…...

单细胞测序入门(一):技术概览与数据获取实战

1. 单细胞测序技术全景解读 第一次接触单细胞测序时&#xff0c;我被这项技术的精妙设计深深震撼。想象一下&#xff0c;传统测序就像把水果榨成混合果汁检测成分&#xff0c;而单细胞测序则是把每个苹果、香蕉、葡萄分开榨汁分析——这就是单细胞分辨率带来的革命性视角。 核心…...