基于MCAL的S32K312 SPI使用

本文参考“大胡子喵喵猪”大佬《S32K312配置SPI(基于MCAL)》https://blog.csdn.net/m0_64944741/article/details/134930744

0、简介

相比于参考文章,本文基于S32K312 介绍SPI的使用,主要是记录开发流程,本文基于《基于MCAL的S32K3 MCU使用》的工程,环境如下:

MCU:NXP S32k312

RTD版本:SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311

EB版本:tresos Studio 29.0

***本文目前主要是记录配置,后期不断完善配置内容的含义***

1、模块简介

SDO 主设备数据输出,从设备数据输入 对应MOSI master output slave input
SDI 主设备数据输入,从设备数据输出 对应MISO master input slave output
SCLK 时钟信号,由主设备产生
CS Chip Select,从设备使能信号,由主设备控制

SDI/SDO/SCLK: 通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

当SPI主设备想读/写从设备时,它首先拉低从设备对应的CS线(如果CS是低电平有效)。接着开始发送工作脉冲到时钟线上,在相应的脉冲时间上,主设备把数据信号按位发到MOSI实现“写”,同时可对MISO采样而实现“读”。如下图所示:
在这里插入图片描述
注意:此图只是示例,不代表所有SPI的情况,因为输出和采样的边沿可能会变化。

采集位置 : CKPHA (Clock Phase) = CPHA = PHA = Phase = (时钟)相位
空闲电平 : CKPOL (Clock Polarity) = CPOL = POL = Polarity = (时钟)极性

在这里插入图片描述

2、新建工程

2.1 新建工程

本文基于《基于MCAL的S32K3 MCU使用》的工程。

2.2 添加相关模块

在这里插入图片描述

2.3 PORT配置

参考《基于MCAL的S32K3 PORT、DIO使用》中PortContainer配置。

2.4 MCU配置

添加McuClockReferencePoint
在这里插入图片描述
时钟源如下图所示:
在这里插入图片描述
需要手动打开添加的模块LPSPI0:
在这里插入图片描述

2.4 SPI配置

2.4.1 general

在这里插入图片描述

2.4.2 SpiPhyUint

在这里插入图片描述

2.4.3 SpiChannel

在这里插入图片描述

2.4.4 SpiExternalDevice

在这里插入图片描述
MT6DIMD0芯片时序图如下
在这里插入图片描述

2.4.5 SpiJob、SpiSequence:

这里注意配多个SPI时SpiChannel、SpiJob、SpiSequence尽量相对应
在这里插入图片描述
在这里插入图片描述

3.1 S32DS代码

在main函数里初始化MCU、Port、Spi,初始化完后即可发送/接收:

在这里插入图片描述
(图中代码使用的是EB)Spi_SetupEB(),有四个参数,第一个选择使用的哪个Channel,第二个参数是发送地址指针,第三个参数是接收地址指针,第四个参数是外部缓冲区的数据长度:
在这里插入图片描述
Spi_SyncTransmit() 发送、接收都是调用这个函数:
在这里插入图片描述
Channel与Sequence两个参数,代码生成的位置如下图:
在这里插入图片描述

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

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

相关文章

Winform自定义控件 —— 开关

在开始阅读本文之前,如果您有学习创建自定义控件库并在其他项目中引用的需求,请参考:在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用https://blog.csdn.net/YMGogre/article/details/126508042 0、引言 由于 Winform 框架并…

FebHost:为什么企业需要注册保加利亚.BG域名?

在当今全球化的商业环境中,对于与保加利亚市场息息相关的企业而言,选择合适的域名至关重要。.BG域名作为企业在线身份的重要组成部分,提供了多重利好,成为业内不容忽视的战略资源。 首先,地域标识性强是.BG域名的一大…

AI Agent是什么?未来如何发展

AI Agnt是什么 AI代理(AI Agent)是指一种利用人工智能技术来执行特定任务或解决特定问题的自主软件程序。这些代理通过学习和模拟人类行为或特定领域的知识,能够在无需人为干预的情况下完成复杂的任务。AI代理广泛应用于多个领域&#xff0c…

Python筑基之旅-溯源及发展

目录 一、Python的起源 二、Python的版本更替及变化 三、Python的优缺点 四、Python的发展方向 五、Python之禅 六、推荐专栏/主页: 1、Python函数之旅:Functions 2、Python算法之旅:Algorithms 3、个人主页:https://mye…

探索中国文本到视频AI模型——Vidu

引言 随着人工智能技术的不断进步,我们见证了从文本到视频内容生成的革命。最近,一个名为Vidu的中国文本到视频AI模型引起了全球的关注。由清华大学和中国AI初创公司声书科技联合开发的Vidu,于2024年4月27日宣布,它声称能够生成高…

通俗易懂的策略模式讲解

什么是策略模式? 策略模式是一种设计模式,它允许你定义一系列的算法(策略),并将每个算法封装成一个对象。这样,你可以轻松地切换不同的算法,而不需要改变原始代码。 一个简单的例子 假设你是…

VMware17.5与Ubuntu22.04虚拟机环境搭建

VMware17.5安装教程也有参考此链接 简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设…

5月17日世界电信日:共筑数字桥梁,深圳市企讯通科技引领通讯创新潮流

在全球信息化浪潮中,每年的5月17日被赋予了非凡的意义——“世界电信日”。这不仅仅是全球电信业发展成果展示与未来趋势探讨的盛会,更是对未来通信领域无限可能的展望。自1969年设立以来,世界电信日不断激励着各国在信息通信技术&#xff08…

不怕太空物质「撞地球」!中科院团队提出日冕物质抛射识别新方法,接近人类识别结果

日冕物质抛射(简称 CME)是从太阳抛入行星际空间的大尺度等离子体团,是太阳释放能量的一种形式,也是影响空间天气的主要因素之一。大型日冕物质抛射事件会影响通信、导航、航空活动、电网运行等,为了避免安全威胁和资产…

uniapp开发的小程序toast被键盘遮挡提示内容无法完全显示问题解决

文章目录 问题描述问题解决参考链接: 问题描述 在开发抖音小程序后,当用户提交反馈后,调用了系统的toast来显示是否提交成功,结果被系统的键盘给盖住,无法显示完全。 即,简单来说:Toast会被弹…

GPT-4o 的商业化落地使用场景

今天我想和大家聊一聊 OpenAI 的 GPT-4o。这款令人惊叹的语言模型不仅在技术层面上令人钦佩,也在多种实际应用中展现了巨大的商业潜力。 GPT-4o 是什么? 首先,简单介绍一下 GPT-4o。它是由 OpenAI 开发的一种高级自然语言处理模型&#xff0…

聚鼎装饰画:装饰画行业未来5年还能做起来吗

随着人们审美的多元化和生活品质的提升,装饰画以其美化空间、体现个性的功能逐渐成为现代家居装饰中不可或缺的元素。然而,面对科技的迭代与消费模式的转变,装饰画行业在未来五年能否持续繁荣,成为了业界关注的焦点。 从市场需求的…