MCAL配置-PWM(EB23.0)
PWM配置项的介绍
一、General
1、PwmDeInitApi

从代码中添加/删除Pwm_17_GtmCcu6_Delnit() API。
TRUE:Pwm_17_GtmCcu6_Delnit() API可供用户使用。
FALSE:Pwm_17_GtmCcu6_Delnit() API对用户不可用。
注意:默认情况下禁用Pwm_17_GtmCcu6_Delnit() API以最小化可执行代码大小。
2、PwmGetOutputState

从代码中添加/删除Pwm_17_GtmCcu6_GetOutputState() API。
TRUE:Pwm_17_GtmCcu6_GetOutputState() API可供用户使用。
FALSE:Pwm_17_GtmCcu6_GetOutputState() API对用户不可用。
注意:默认情况下禁用Pwm_17_GtmCcu6_GetOutputState() API以最小化可执行代码大小。
3、PwmSetDutyCycle

从代码中添加/删除服务Pwm_17_GtmCcu6_SetDutyCycle() API。
TRUE: Pwm_17_GtmCcu6_SetDutyCycle() API对用户可用。
FALSE: Pwm_17_GtmCcu6_SetDutyCycle() API对用户不可用。
注意:Pwm_17_GtmCcu6_SetDutyCycle() API默认禁用以最小化可执行代码大小。
4、PwmSetOutputToIdle


从代码中添加/删除服务Pwm_17_GtmCcu6_SetOutputToldle()。
TRUE: Pwm_17_GtmCcu6_SetOutputToldle() API对用户可用。
FALSE: Pwm_17_GtmCcu6_SetOutputToldle() API对用户不可用。
注意:Pwm_17_GtmCcu6_SetOutputToldle() API默认禁用以最小化可执行代码大小。
5、PwmSetPeriodAndDuty

从代码中添加/删除服务Pwm_17_GtmCcu6_SetPeriodAndDuty()。
TRUE: Pwm_17_GtmCcu6_SetPeriodAndDuty() API可供用户使用。
FALSE: Pwm_17_GtmCcu6_SetPeriodAndDuty() API对用户不可用。
注意:默认情况下禁用Pwm_17_GtmCcu6_SetPeriodAndDuty() API以最小化可执行代码大小。
6、PwmVersionInfoApi

从代码中添加/删除服务Pwm_17_GtmCcu6_GetVersionInfo。
TRUE: Pwm_17_GtmCcu6_GetVersionInfo() API可供用户使用。
FALSE: Pwm_17_GtmCcu6_GetVersionInfo() API对用户不可用。
注意:默认情况下禁用Pwm_17_GtmCcu6_GetVersionInfo() API以最小化可执行代码大小。
7、PwmDevErrorDetect

将(DET)检测和通知切换到ON或OFF。
TRUE:启用。
FALSE:禁用。
8、PwmMultiCoreErrorDetect

启用或禁用与多核相关的DET检测和报告。仅在启用DET/Safety时才适用。
9、PwmDutycycleUpdatedEndperiod

全局开关,使能在当前周期结束时更新占空比参数。
TRUE:更新占空比在当前生成的波形周期结束时完成(当前波形完成)。
FALSE:立即更新占空比(就在服务调用之后,当前波形更新为新的占空比值)。
默认值设置为“硬件默认值”。
注意:如果全局开关为TRUE,那么对于PWM_VARIABLE_PERIOD通道,占空比和周期将在当前生成的波形的周期结束时更新。
备注:此参数仅适用于GTM通道。
10、PwmIndex

11、PwmLowPowerStatesSupport

由于不支持电源模式,该参数不启用。
添加/删除所有电源状态管理相关的API (PWM_SetPowerState;PWM_GetCurrentPowerState、PWM_GetTargetPowerState、PWM_PreparePowerState、PWM_Main_PowerTransitionManager)表示硬件提供低功耗状态管理。
12、PwmNotificationSupported

通知支持的开关。
TRUE:支持通知。
FALSE:不支持通知。
注意:默认值设置为FALSE以最小化可执行代码大小。
13、PwmPeriodUpdatedEndperiod

启用在当前周期结束时更新period参数的全局开关。
TRUE:可变周期通道的周期和占空比在当前生成波形的周期结束时更新(当前波形完成)。
FALSE:立即更新变周期通道的周期和占空比(就在服务调用之后,当前波形更新为新的周期值)。
PWM_FIXED_PERIOD、pwm_fixed_period_shift和PWM_FIXED_PERIOD_CENTER_ALIGNED类通道不受此参数设置的影响。
备注:默认值为“硬件默认值”。
备注:此参数仅适用于GTM通道。
14、PwmChannelCoherentSelection

在当前周期结束时启用占空比/周期参数的智能通道更新开关。
TRUE:周期/占空比的更新是基于PWM通道特定配置PwmCoherentUpdate配置参数完成的。FALSE:根据PwmDutycycleUpdatedEndPeriod和PwmPeriodUpdatedEndPeriod全局参数更新周期/占空比。
备注:此参数仅适用于GTM通道。
15、PwmHandleShiftByOffset

当PwmHandleShiftByOffset被启用时,移位的通道以偏移量开始,并将类似于固定周期通道。当不选择PwmHandleShiftByOffset时,从引用的固定周期通道触发移位通道。
备注:此参数仅适用于GTM通道。
16、PwmDutyShiftInTicks

确定占空比和移位值是绝对的还是相对于周期的。
TRUE:占空比和移位值作为绝对刻度输入。
FALSE:输入占空比和移位值相对于周期。
0为0%,Ox8000为100%。
注意:默认值设置为FALSE,因为它是非autosar功能。
17、PwmEnable0Or100DutyNotification

如果设置为ON,则固定周期和可变周期通道支持0%和100%的通知。
如果设置为OFF,则固定周期和可变周期通道的0%和100%不支持通知。
注意:默认值设置为FALSE以最小化可执行代码大小。
18、PwmPowerStateAsynchTransitionMode

由于不支持电源模式,该参数不启用。
启用/禁用对异步电源状态转换的PWM驱动器的支持。
19、PwmSafetyEnable
启用安全错误报告的开关(范围和合理性检查)。
注意:当启用此开关时,AUTOSAR DET默认启用。
默认情况下启用安全相关错误的检测,以确保在产品生命周期中解决安全问题。
20、PwmInitCheckApi

开启安全初始化检查API。
注意:默认情况下启用安全相关错误的检测,以确保在产品生命周期中解决安全问题。
二、PwmChannel
1、PwmChannelId

PWM通道Id。该值被分配给从PwmChannel容器短名称派生的符号名称。Id值必须连续。注意:对每个新的PWM通道计算一个连续的值。选择最小通道ID作为默认值。
注意:PwmChannelld的值在一个配置集中应该是唯一的。
2、PwmAssignedHwUnit

用于产生PWM的硬件资源:GTM或CCU6。
注意:对于无GTM的设备,此参数将只保留CCU6选项。在这种情况下,默认值将是CCU6。
3、PwmDutycycleDefault

通道占空比的默认值。可以根据PwmDutyShiftInTicks参数输入绝对刻度或相对百分比。
当PwmDutyShiftInTicks设置为OFF时,该值相对于周期。0是0%,0x8000是100%。
当PwmDutyShiftInTicks设置为ON时,该值以绝对刻度为单位。
0是0%,如果相同的值大于或等于PwmPeriodDefault,则占空比为100%。
范围:
如果TOM/ATOM/CCU6的PwmDutyShiftInTicks为STD_OFF,则0~ 0x8000。
如果PwmDutyShiftInTicks为STD_ON且模块为TOM或CCU6时,则0 ~ 0xFFFF。
如果PwmDutyShiftInTicks为STD_ON且模块为ATOM时,则0 ~ 0xFFFFFF。
注:硬件复位为FALSE时,默认为FALSE。
4、PwmIdleState
![]()


表示信号停止(即调用)后PWM的输出状态Pwm_17_GtmCcu6_SetOutputToldle)。
注:默认为硬件复位值。
5、PwmPeriodDefault

用于初始化的周期值。
如果PwmChannelClass为PWM_FIXED_PERIOD或PWM_VARIABLE_PERIOD,则此值重要。
范围:
0 ~ OxFFFF,当模块为TOM或CCU6时;
0到OxFFFFFF,当模块是ATOM。
备注:默认值与硬件复位值匹配。
6、PwmPolarity

定义每个PWM通道的起始极性。
注意:默认设置为PWM_LOW,因为硬件重置值为FALSE。
PWM_HIGH: PWM通道输出在周期开始时高,然后在达到占空率计数时低。
PWM_LOW: PWM通道输出在周期开始时低,然后在达到占空率计数时高。
7、PwmMcuClockReferencePoint

包含对McuClockReferencePoint的引用。由于没有使用此参数,因此它是禁用的。
8、PwmShiftValue

根据PWM_FIXED_PERIOD类通道配置初始移位值。可以根据PwmDutyShiftinTicks参数输入绝对刻度或相对百分比。
当PwmDutyShiftInTicks设置为OFF时,该值相对于周期。
0是0%,0x8000是100%。
当PwmDutyShiftInTicks设置为ON时,该值以绝对刻度为单位。值0为0%。
与参考通道的PwmPeriodDefault值相同则为100%。
如果PwmChannelClass是pwm_fixed_period_shifts,这是重要的。
注意:默认设置为匹配硬件复位值。
9、PwmReferenceChannel

如果PwmChannelClass是pwm_fixed_period_shift或PWM_FIXED_PERIOD_CENTER_ALIGNED,则此值有效。
如果PwmChannelClass是pwm_fixed_period_shifts或PWM_FIXED_PERIOD_CENTER_ALIGNED,则必须提供引用通道。
引用通道只能为PWM_FIXED_PERIOD。
注意:默认值为空白,因为用户必须从MCU驱动程序中选择适当的参考值。
10、PwmCoherentUpdate

启用在当前周期结束时更新占空比/周期参数的开关。
TRUE:周期/占空比的更新在当前生成波形的周期结束时完成(当前波形完成)。
FALSE:周期/占空比立即更新(就在服务调用之后,电流波形被切断)。
根据PwmChannelClass,更新结束周期可以为占空比工作,也可以为占空和周期工作。可变周期通道更新占空比和周期,而其他PwmChannelClass通道只更新占空比。
备注:此参数仅适用于GTM通道。
11、PwmChannelClass

PWM_FIXED_PERIOD: PWM通道有固定的周期。只能改变占空比。
PWM_FIXED_PERIOD_CENTER_ALIGNED:这类PWM通道是指周期与一个PWM_FIXED_PERIOD通道相关,占空比将正好落在周期的中间。只有占空比可以为这个通道类改变。
注意:当设备中有GTM硬件时,PWM_FIXED_PERIOD_CENTER_ALIGNED通道适用。
PWM_FIXED_PERIOD_SHIFTED:这类PWM通道是指周期与一个PWM_FIXED_PERIOD通道相关和占空比被要求的固定百分比移位。只能改变占空比。
PWM_VARIABLE_PERIOD:这类PWM通道具有可变周期和占空比。两者都可以在运行时更改。此通道不应被任何其他通道引用,也不引用任何通道。
注意:如果PwmSetPeriodAndDuty设置为false,PWM_VARIABLE_PERIOD不适用。
12、PwmNotification

PWM驱动程序使用PwmNotification来调用用户定义的函数,以生成相应通道的边缘。参数可以是通知函数的名称或地址(数值)。
注1:由于函数的名称是可配置的,所以默认值保持为NULL。
注2:PWM驱动程序不验证配置的功能名称或地址的正确性,责任落在用户身上。
如果McuAtomChannelEventHandledByDsadc /McuAtomChannelEventHandledByDsadc为TRUE,则当TOM/ATOM通道分别发生事件时,通知回调将由DSADC处理,而不是由PWM处理。因此,对于该通道,PwmNotification参数将不可编辑。
13、GtmTimerUsed

分配给PWM通道的TOM或ATOM通道资源。
该参数列出所有GTM定时器通道(TOM或ATOM)。MCU中引用的定时器通道应该具有TomChannelUsage/AtomChannelUsage作为USED_BY_PWM_DRIVER。
注意:默认值设置为BLANK,因为用户必须从MCU驱动程序中选择适当的参考值。
14、GtmTimerClockSelect

GTM时钟的选择。
15、GtmTimerPortPinSelect


GTM针脚的选择。
相关文章:
MCAL配置-PWM(EB23.0)
PWM配置项的介绍 一、General 1、PwmDeInitApi 从代码中添加/删除Pwm_17_GtmCcu6_Delnit() API。 TRUE:Pwm_17_GtmCcu6_Delnit() API可供用户使用。 FALSE:Pwm_17_GtmCcu6_Delnit() API对用户不可用。 注意:默认情况下禁用Pwm_17_GtmCcu6_Delnit() …...
v-if和v-for哪个优先级更高?
v-if和v-for哪个优先级更高? 结论: vue2输出的渲染函数是先执行循环,在看条件判断,如果将v-if和v-for写在一个标签内,哪怕只渲染列表中的一小部分,也要重新遍历整个列表,无形造成资源浪费。vu…...
Mapstruct 常用案例(持续更新.).
将A转换为B Mapper(componentModel "spring") public interface DemoConvert {B A2B(A a); }将List转换为List 注意:以下两个都不可缺少,需要先声明单个和集合的同时生命才可 Mapper(componentModel "spring") public interface …...
QT基础篇(10)QT5网络与通信
QT5网络与通信是指在QT5开发环境中使用网络进行数据传输和通信的相关功能和技术。 QT5提供了一套完善的网络模块,包括了TCP、UDP、HTTP等协议的支持,可以方便地在QT应用程序中进行网络通信。通过QT5的网络模块,开发者可以实现客户端和服务器…...
【Leetcode】269.火星词典(Hard)
一、题目 1、题目描述 现有一种使用英语字母的火星语言,这门语言的字母顺序与英语顺序不同。 给你一个字符串列表 words ,作为这门语言的词典,words 中的字符串已经 按这门新语言的字母顺序进行了排序 。 请你根据该词典还原出此语言中已知的字母顺序,并 按字母递增顺序…...
opencv_模型训练
文件夹 opencv训练文件 xml negdataposdata 说明 negdata目录: 放负样本的目录 posdata目录: 放正样本的目录 xml目录: 新建的一个目录,为之后存放分类器文件使用 neg.txt: 负样本路径列表 pos.txt: 正样本路径列表 pos.vec: 后续自动生成…...
python PyQt5的学习
一、安装与配置 1、环境: python3.7 2、相关模块 pip install pyqt5 pyqt5-tools pyqt5designer 可以加个镜像 -i https://pypi.tuna.tsinghua.edu.cn/simple3、配置设计器 python的pyqt5提供了一个设计器,便于ui的设计 界面是这样的:…...
3.goLand基础语法
目录 概述语法for常量与变量数组切片 slice切片问题问题1问题2 Make 和 New结构体和指针结构体标签 结束 概述 从 java 转来学 go ,在此记录,方便以后翻阅。 语法 for package mainimport "fmt"func main() {for i : 0; i < 3; i {fmt.…...
计算机硬件 5.2组装整机
第二节 组装整机 一、准备工作 1.常用工具:中号十字螺丝刀、尖嘴钳、软毛刷、防静电手环等。 2.组装原则: ①按“先小后大”“从里到外”的顺序进行,不遗漏每一环节,不“带病”进行下一环节。 ②合理使用工具器材,…...
Docker搭建MySQL主从数据库-亲测有效
1、测试环境概述 1、使用MySQL5.7.35版本 2、使用Centos7操作系统 3、使用Docker20版本 案例中描述了整个测试的详细过程 2、安装Docker 2.1、如果已经安装docker,可以先卸载 yum remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-l…...
PyTorch 中的距离函数深度解析:掌握向量间的距离和相似度计算
目录 Pytorch中Distance functions详解 pairwise_distance 用途 用法 参数 数学理论公式 示例代码 cosine_similarity 用途 用法 参数 数学理论 示例代码 输出结果 pdist 用途 用法 参数 数学理论 示例代码 总结 Pytorch中Distance functions详解 pair…...
【Vue技巧】vue3中不支持.sync语法糖的解决方案
海鲸AI-ChatGPT4.0国内站点,支持设计稿转代码:https://www.atalk-ai.com 在 Vue 3 中,.sync 修饰符已经被移除。在 Vue 2 中,.sync 修饰符是一个语法糖,用于简化子组件和父组件之间的双向数据绑定。在 Vue 3 中&#x…...
设计模式⑦ :简单化
文章目录 一、前言二、Facade 模式1. 介绍2. 应用3. 总结 三、Mediator 模式1. 介绍2. 应用3. 总结 一、前言 有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容…...
Java:选择哪个Java IDE好?
Java:选择哪个Java IDE好? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!&…...
unity打包apk后网络请求提示unknown error处理
近期同事的一个比较老的版本的unity项目在电脑上运行都正常,但是打包成android后安装到手机上就提示unknown error 让我帮他排查一下问题。由于是涉密项目不能发图就简单介绍下处理过程吧! 一、故障原因 请求的地址ssl证书过期了。 二、处理过程 更改请…...
力扣 | 11. 盛最多水的容器
双指针解法–对撞指针 暴力解法public int maxArea1(int[] height) {int n height.length;int ans 0;for (int i 0; i < n; i) {for (int j i 1; j < n; j) {int area Math.min(height[i], height[j]) * (j - i);ans Math.max(ans, area);}}return ans;}双指针解法…...
史上最全EasyExcel
一、EasyExcel介绍 1、数据导入:减轻录入工作量 2、数据导出:统计信息归档 3、数据传输:异构系统之间数据传输 二、EasyExcel特点 Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内…...
MySQL---事务的四大特性详解(高频面试题)
在MySQL中,事务具有以下四个基本特性: 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。这些特性通常被称为ACID特性。 一…...
为 OpenCV 编写文档(二)
常用命令 这里通过简短的示例描述了最常用的 doxygen 命令。有关可用命令的完整列表和详细说明,请访问命令参考。 基本命令 brief - 带有简要实体描述的段落 param - 函数参数的描述。 多个相邻语句合并到一个列表中。如果在实际函数签名中找不到具有此名称的参数…...
HUAWEI华为MateStation S台式机电脑12代PUC-H7621N,H5621N原装出厂Windows11.22H2系统
链接:https://pan.baidu.com/s/1QtjLyGTwMZgYiBO5bUVPYg?pwd8mx0 提取码:8mx0 原厂WIN11系统自带所有驱动、出厂主题壁纸、系统属性专属联机支持标志、Office办公软件、华为电脑管家等预装程序 文件格式:esd/wim/swm 安装方式…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
