文章目录

  • 1. 模块简介
  • 2. 主要功能
  • 3. 缩略语
  • 4. API接口
  • 5. 功能介绍
    • 5.1. ChannelGroup
    • 5.2. Dio_MaskedWritePort
  • 6. 序列图
    • 6.1.读GPIO电平
    • 6.2. 设置GPIO电平
  • 7. EB 工具配置
    • 7.1.General
    • 7.2.DioPort
  • 8. 参考资料

1. 模块简介

Dio,全称“Digital Input Output”。Dio模块(Digital Input/Output Driver)是MCAL层(微控制器抽象层)的核心基础驱动,负责对微控制器(MCU)的数字引脚进行标准化、硬件无关的访问与控制。通俗讲就是给Pin和Port做一层抽象,可根据具体功能去命名。
在这里插入图片描述

2. 主要功能

  • 提供通道(Pin)的读写操作
  • 提供端口组(Port)的读写操作
  • 提供通道组(一个端口中相邻Pin的组合)的读写操作
  • 翻转输出端口状态,周期为T的任务中循环调用,就能得到一个周期2T,50%占空比的方波
    备注:Pin相关配置(输入/输出、上拉/下拉、推挽/开漏等配置)均在Port模块完成,Dio模块仅负责数字接口的读写操作

3. 缩略语

在这里插入图片描述

4. API接口

在这里插入图片描述
备注:除Dio_GetVersionInfo以外,其他函数的参数,均使用Dio_Cfg.h中的宏定义,就不会出现开发错误。
Eg:P00端口的P00.3是LED0的GPIO引脚,对Pin命名时即可考虑端口号 + 功能作为描述。
在这里插入图片描述
在这里插入图片描述

5. 功能介绍

主要提供数字IO读写相关的操作。此处主要讲一下Dio_ReadChannelGroup、Dio_WriteChannelGroup和Dio_MaskedWritePort三个接口,Channel和Port分别对应硬件的哪个Pin和哪个端口,无特殊讲解。

5.1. ChannelGroup

Dio_ReadChannelGroup、Dio_WriteChannelGroup传入的参数是一个结构体类型地址,而不是简单的某个ChannelId或PortId,此处结构体中包含端口号、掩码、偏移三个参数。通过三个参数去确认具体的哪个Port下的哪些相邻的Pin。
在Ifx的EB配置页面中,偏移固定为0,用户不可配,只能通过掩码确认ID号,例如下面的14对应二进制的1110B,即端口组包括P00.1~P00.3四个引脚。用户使用时同样使用Dio_Cfg.h中的宏定义。
在这里插入图片描述

5.2. Dio_MaskedWritePort

非标准接口,作为Dio_WriteChannelGroup的补充,可以同时设置任意不相邻通道的输出电平在工具配置页面只有该功能的使能开关,该接口有PorId、Level、Mask三个参数。
PortId:端口号
Level:uint16类型的变量,bit0bit15分别对应Pxx.0Pxx.15
Mask:需要操作的引脚
在这里插入图片描述

6. 序列图

6.1.读GPIO电平

在这里插入图片描述

6.2. 设置GPIO电平

在这里插入图片描述

7. EB 工具配置

Dio模块简单,只是对Channel、Channel组、Port进行抽象,无太多注意事项。

7.1.General

无特殊讲解,都是针对功能进行裁剪的开关。
在这里插入图片描述

7.2.DioPort

根据实际需要增加相应的Port组,一般情况下Port的名字与物理的端口号或某个功能保持一致,增加可读性。
在这里插入图片描述
选中某个Port组向下展开后,可配置需要使用的Channel或ChannelGroup。
在这里插入图片描述

8. 参考资料

AUTOSAR Mcal Port - 模块介绍 + EB工具配置介绍
General Purpose I/O Ports and Peripheral I/O Lines (Ports)

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

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

相关文章

ICT模拟零件测试方法--晶体管测试

ICT模拟零件测试方法–晶体管测试 文章目录ICT模拟零件测试方法--晶体管测试晶体管测试晶体管测试配置晶体管测试配置晶体管测量选项晶体管测试 i3070 在线测试软件为每个晶体管提供两种测试: 使用二极管测试对晶体管的两个 PN 结进行测试。这是检查设备存在的快速…

AI算法实现解析-C++实例

基于C++实现的AI 以下是基于C++实现的AI/机器学习相关示例,涵盖基础算法、计算机视觉、自然语言处理等领域,适合不同阶段的学习者参考: 基础机器学习算法 线性回归 使用梯度下降法预测连续值,核心公式: 损失函数: 逻辑回归 二分类问题实现,Sigmoid函数: K-Means…

亚马逊云科技实战架构:构建可扩展、高效率、无服务器应用

对于今天的开发者、架构师和技术爱好者而言,云计算早已超越了简单的“虚拟机租赁”或“服务器托管”阶段。它已经演化为一套丰富、强大且精密的工具集,能够以前所未有的方式设计、部署和扩展应用程序。真正的云原生思维,是掌握并运用多种架构…

论文阅读:《无约束多目标优化的遗传算法,群体和进化计算》

前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…

嵌入式单片机中位带操作控制与实现

STM32 单片机的SRAM有两个区支持位带(bit-band)操作。 那么,什么是位带,位带操作的原理是怎样的呢? 今天来梳理一下这个知识点。 在介绍位带操作之前,先看一看 ARM Crotext-M3 的存储器映射。 CM3 的地址空间是 4GB, 程序可以在代码区,内部 SRAM 区以及外部 RAM 区中执…

考研初试专业分146!上岸新疆大学!信号与系统考研经验,通信考研小马哥。

信号与系统专业课分数146,希望以下的经验能够帮助到正在努力学习的学弟学妹们更好的学习专业课。本人是从四月份开始学习专业课,当时我觉得专业课应该要尽早开始越拖到后期学习压力越大,所以在周边同学还在只学习公共课的时候我就开始了专业课…

负载均衡算法中的加权随机算法

import org.apache.commons.lang3.tuple.Pair;import java.util.Arrays; import java.util.List; import java.util.concurrent.ThreadLocalRandom; import java.util.stream.Collectors;/*** 加权随机,nacos*/ public class RouterWeightRandom {/**** param list [{"a&q…

AI时代SEO关键词优化策略

内容概要 在人工智能(AI)技术深度融入数字营销的背景下,搜索引擎优化(SEO)的关键词优化策略正经历一场智能变革,这不仅重塑了传统研究方式,还为企业带来了全新的竞争机遇。本文将从AI时代SEO的变…

复矩阵与共轭转置矩阵乘积及其平方根矩阵

设 是一个 的复数矩阵,其共轭转置矩阵(Hermitian 共轭)记为 (即 ),则矩阵 ( )和 ( )的性质如下文所述。1. Hermitian 性(自共轭性&#x…

Vue 框架 学习笔记

作为初学者对于Vue框架的学习笔记 总结了Vue框架的核心知识点,包括:1. 基础概念:渐进式框架、两种使用方式、Vue实例创建流程、模板语法和响应式特性。2. 常用指令:详细介绍了v-html、v-show/v-if、v-for、v-on、v-bind、v-model等…

飞牛系统安装DataEase自定义Docker包

飞牛系统安装DataEase自定义Docker包背景构造DataEase Docker包1.在Linux 系统中(比如我这里选麒麟V10)安装Docker2.准备打包文件3.执行打包4.验证打好的包上传DataEase Docker包1.把本地docker 容器导出1.1查看镜像列表命令:docker images1.…

可配置的PWM外设模块

🔧 可配置的PWM外设模块 基于FPGA的PWM信号发生器,支持 动态周期与占空比配置,无需外部控制信号,适用于 LED 呼吸灯、舵机控制、电机驱动等场景。 仿真波形 参数修改后会晚一个pwm周期才生效📌 模块功能 🧮…

从零到一:我是如何用深度学习打造高性能书籍推荐系统的

作者:笙囧同学 | 发布时间:2025年7月28日 | 阅读时长:15分钟 🎯 前言:为什么要做这个项目? 大家好,我是笙囧同学!最近在学习《机器学习基础》课程时,被推荐系统的魅力深…

OpenRLHF:面向超大语言模型的高性能RLHF训练框架

“四模型协同调度破资源壁垒,让70B模型RLHF训练触手可及” OpenRLHF 是由 OpenLLMAI 团队于2024年推出的开源强化学习人类反馈(RLHF)框架,旨在解决大语言模型(LLM)对齐训练中的多模型协调瓶颈与超大规模扩展…

DMETL安装流程及简单使用

目录 安装调度器 安装执行器 安装管理器 启动服务 进入web管理端 创建数据源 ​编辑 添加表 添加影子表增量 节点监控 DMETL工程流搭建实践 创建表/视图 添加sql脚本 添加数据清洗与转换模块 添加排序模块 创建输出表 连接各模块并启动 查看验证结果 监控管理 …

如何通过代码操作文件?

1. 为什么使用文件不使用文件,我们所写的程序存在电脑内存中,程序结束,内存回收,数据就丢失了。再次运行程序也是看不到上次运行时的数据的,如果想要将数据进行持久化保存,就需要使用文件。2. 文件分类&…

unbuntn 22.04 coreutils文件系统故障

文章目录核心思路具体操作步骤(需借助 Ubuntu Live USB)1. 准备 Ubuntu Live USB2. 从 Live USB 启动并挂载系统分区3. 从安装包中提取完好的 /bin/dir 文件并替换4. 重启系统并验证总结前提说明具体操作步骤(分阶段执行)阶段1&am…

若依【(前后端分离版)SpringBoot+Vue3】

文章目录什么是若依使用若依验证码的前端实现📌 前后端验证码流程说明文档1、前端初始化验证码2、前端界面显示3、后端生成验证码接口(GET /captchaImage)4、用户提交登录信息5、后端验证验证码逻辑(POST /login)6、登…

Ubuntu24安装MariaDB/MySQL后不知道root密码如何解决

Ubuntu 24.04 安装 MariaDB 后 root 密码未知?解决方案在此在 Ubuntu 24.04 上新安装 MariaDB 后,许多用户会发现自己不知道 root 用户的密码,甚至在安装过程中也没有提示设置密码。这是因为在较新的 MariaDB 版本中,默认情况下 r…

Cloudflare CDN 中设置地域限制并返回特定界面

文章目录 什么是CDN 什么是Cloudflare 注册Cloudflare 账号,添加域名、修改DNS并激活邮箱 阻止或允许特定国家或地区访问 常见规则表达式 WAF自定义规则 + 自定义错误页面 使用Workers脚本 什么是CDN CDN 是一种优化网站请求处理的机制。它是在用户访问网站 (服务器) 时用户与…