NXP实战笔记(九):S32K3xx基于RTD-SDK在S32DS上配置 CRCIRQPower

目录

 

1、CRC概述

1.1、CRC配置

1.2、代码示例

2、INTCTRL

3、Power


 

1、CRC概述

        硬件CRC产生16或者32bit的,S32K3提供了可编程多项式与其他参数需求。

        CRC图示如下

1c4a9438325046ddb5d6a9fb961c6ff6.png

1.1、CRC配置

暂时DMA不怎么会用,所以没有启用DMA

05ad9359a2c4418e8a12cd2843bb908b.png

CRC的选择

d4a57699d63f461a8723f464eab65ab7.png

465cac71cbc34c289129d51941b27209.png

这点需要十分注意:硬件CRC只支持CRC16与CRC32,其他的CRC需要用软件或者查表方式。

硬件CRC:非常快,但是需要MCU支持才行

查表CRC:一般速度,不需要特定的硬件支持

软件CRC:非常慢,但是比较灵活也不需要要硬件支持

1.2、代码示例

初始化

 Crc_Ip_LogicChannelConfigType LogicChannelCfg_32bit_Ethernet = {/* Crc_Ip_ProtocolType Protocol */ CRC_PROTOCOL_32BIT_ETHERNET,/* uint32  PolynomialValue      */ 0U,    /* For non-custom protocol, this value doesn't need initialization *//* boolean WriteBitSwap         */ FALSE, /* For non-custom protocol, this value doesn't need initialization *//* boolean WriteByteSwap        */ FALSE, /* For non-custom protocol, this value doesn't need initialization *//* boolean ReadBitSwap          */ FALSE, /* For non-custom protocol, this value doesn't need initialization *//* boolean ReadByteSwap         */ FALSE, /* For non-custom protocol, this value doesn't need initialization *//* boolean InverseEnable        */ FALSE,  /* For non-custom protocol, this value doesn't need initialization *//* boolean LookUpTable          */ NULL_PTR  /* For non-custom protocol, this value doesn't need initialization */};Crc_Ip_Init(&CrcIp_xConfigInit);    /* Initialize CRC driver */
Crc_Ip_SetChannelConfig(CRC_LOGIC_CHANNEL_0, &LogicChannelCfg_32bit_Ethernet);  /* Config HARDWARE_CALCULATION with CRC_PROTOCOL_32BIT_ETHERNET */

执行代码

 CrcResult = Crc_Ip_SetChannelCalculate(CRC_LOGIC_CHANNEL_0, DataPtr, Length, (uint64)StartValue, IsFirstCall);

2、INTCTRL

中断图示如下

4f448d8972164ff29bb503ebf92ef833.png

中断的配置非常简单,插入中断即可

4cdd836c2f4546a58b6778e8377346f9.png

中断怎么命名的呢?如下图,怎么知道是PIT呢?

cbc528b93c77404aaa71eba5571bf18d.png

中断均在对应的源文件里面

2377d32454394776b818f8a644cb5481.png

        代码实现,中断也是需要初始化的。总的初始化完成之后,需要在各个外设模块里面使能中断操作的。

IntCtrl_Ip_Init(&IntCtrlConfig_0);

PIT中断开启

Pit_Ip_EnableChannelInterrupt(PIT0_INST, PIT0_CH2);

3、Power

bd690970c5b64261b38780f9956f87d5.png

5d24179e1d774c09bc19875050187992.png

0e4c9f48f5064cb98a23fb00d039a9ba.png

022a39b1b2d5444591dbe91bf5c59f3b.png

正常程序执行,需要POWER功能里面的如下函数,执行Boot复位。

Power_Ip_MC_ME_SocTriggerResetEvent(POWER_IP_FUNC_RESET_MODE);

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/701730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完美解决ubuntu+windows双系统下时间不正确问题

在同一台电脑上安装ubuntuwindows双系统时,会出现某个系统的时间不正确的问题,而由于windows同步时间实在是太慢了,如果不去解决,windows上的时间大概率一直都是不对的。 原因分析 windows采用LocalTime机制设置时间&#xff0c…

【力扣白嫖日记】178.分数排名

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 178.分数排名 表:Scores 列名类型idintscoredecimal 在 SQL 中,id 是该表的主键。 …

stm32利用CubeMX实现外部中断触发数码管加减数

首先打开proteus绘制电路图,如下: 然后打开CubeMX,配置晶振和GPIO: 接下来就是生成keil工程文件,用keil打开。 新建一个desplay.h文件:下面是全部代码 #ifndef __DESPLAY_H #define __DESPLAY_H #endif#i…

索引大战:探秘InnoDB数据库中B树和Hash索引的优劣

欢迎来到我的博客,代码的世界里,每一行都是一个故事 索引大战:探秘InnoDB数据库中B树和Hash索引的优劣 前言B树索引的深度解析Hash索引的奥秘揭晓性能对比分析 前言 在当今软件开发的世界中,数据库扮演着至关重要的角色。而InnoD…

QYWX企业微信的公告信息限制保存pdf的破解

公司使用企业微信好几年,重大的消息使用公告信息这个模块。可重要的消息无法保存,只能在线收藏。这个玩意只考虑到了维护企业利益,无视员工利益。 后来发现可以利用windows的虚拟打印机,将公告打印成pdf。 用了一段时间&#xf…

[算法沉淀记录] 排序算法 —— 冒泡排序

排序算法 —— 冒泡排序 基本概念 冒泡排序是一种简单的排序算法。它重复地遍历要排序的列表,一次比较两个元素,并交换它们的位置,如果它们不是按照升序排列的。这步遍历是重复进行的,直到没有再需要交换,也就是说该…

xtu oj 1353 Digit String

题目描述 小明获得了一些密码的片段,包含0∼9,A∼F 这些字符,他猜这些是某个进制下的一个整数的数码串。 小明想知道从2到16进制中,哪些进制下,这个数码串的对应的十进制整数值,等于n? 输入 存在不超过1000个样例&…

注入工具SQLMAP教程:Tamper编写;指纹修改;高权限操作;目录架构等

注入工具SQLMAP教程:Tamper编写;指纹修改;高权限操作;目录架构 #知识点: 1、SQLMAP-常规猜解&字典配置 2、SQLMAP-权限操作&文件命令 3、SQLMAP-Tamper&使用&开发 4、SQLMAP-调试指纹&风险等级 #参考文章: https://w…

代码随想录刷题第41天

首先是01背包的基础理论,背包问题,即如何在有限数量的货物中选取使具有一定容量的背包中所装货物价值最大。使用动规五步曲进行分析,使用二维数组do[i][j]表示下标从0到i货物装在容量为j背包中的最大价值,dp[i][j]可由不放物品i&a…

wpf 数据绑定 数据转换

1.概要 数据绑定&#xff0c;有时候绑定的数据源和目标的数据类型不同&#xff0c;这时候就需要转换。 2.代码 2.1 xaml(eXtensible Application Markup Language) 可扩展应用程序标记语言 <Window x:Class"WpfApp6.MainWindow"xmlns"http://schemas.mi…

【设计模式】策略模式及函数式编程的替代

本文介绍策略模式以及使用函数式编程替代简单的策略模式。 策略模式 在策略模式&#xff08;Strategy Pattern&#xff09;中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略&#xff0c;并将每个算法封装在独立…

《论文阅读》利用提取的情感原因提高共情对话生成的内容相关性 CCL 2022

《论文阅读》利用提取的情感原因提高共情对话生成的内容相关性 前言简介模型架构情绪识别情绪原因提取实验结果示例总结前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《Using Extracted Emotion Caus…

c语言常见操作符及操作符优先级

目录 概述1. 算术操作符&#xff1a;2. 关系操作符&#xff1a;3. 逻辑操作符&#xff1a;4. 位操作符&#xff1a; *常见操作符优先级* 概述 C语言中有多种操作符&#xff0c;用于执行不同的操作。下面是一些常见的C语言操作符以及示例代码&#xff1a; 1. 算术操作符&…

Day04 嵌入式---基本定时器

定时器概述 1、软件定时原理 使⽤纯软件的⽅式实现定时功能。 存在的问题&#xff1a;定时不太精准。CPU死等。 1&#xff09;压栈出栈需要花费时间 2&#xff09;ARM流⽔线体系架构的原因 2、定时器定时原理 使用精准的时基&#xff0c;通过硬件方式&#xff0c;实现定…

区块链笔记(三)

超级账本 如果说比特币为代表的加密货币提供了区块链技术应用的原型&#xff0c;以太坊为代表的智能合约平台延伸了区块链技术的适用场景&#xff0c;那么面向企业场景的超级账本项目则开拓了区块链技术的全新阶段。超级账本首次将区块链技术引入到了联盟账本的应用场景&#…

上传到服务器的图片资源如何读取

说两种方式&#xff0c;直接上代码&#xff1a; 1.前提图片已经存储在服务器上&#xff0c;携带图片地址过去通过输入输出流进行图片下载查看 前端&#xff1a; <img v-else :src"/chat/download?namemessage.url"/>后端&#xff1a; GetMapping("/dow…

3d Slicer软件一种新的体绘制方式

vtk Multi-Volumne试验性体绘制方式&#xff0c;细节更丰富&#xff0c;影像更清晰&#xff0c;值得学习使用

利用Spring Boot实现MQTT在物联网中的应用

在物联网&#xff08;IoT&#xff09;领域&#xff0c;消息队列遵循发布/订阅模型的MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;协议变得越来越受欢迎。本文将深入探讨如何在Spring Boot中使用MQTT&#xff0c;并讨论其与其他中间件的集成以及在物联网中…

前端本地化部署

前言 现在成熟的前端团队里面都有自己的内部构建平台&#xff0c;我司云长便是我们 CI/CD 的提效利器。我先来简单介绍下我司的云长&#xff0c;此云长非彼云长&#xff0c;云长主要做的是&#xff1a;获取部署的项目&#xff0c;分支&#xff0c;环境基本信息后开始拉取代码&…

Java ExecutorService 线程池(IO密集型、CPU密集型建议)

注&#xff1a;这是我很久之前在博客里面看到的&#xff0c;忘记是哪一篇了&#xff0c;分享一下 测试响应耗时 private String test1() {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}return "test1";}private String test2() …