首页 > 其他分享 >【S32K144 PORT&DIO 基于EB Tresos的驱动设计】

【S32K144 PORT&DIO 基于EB Tresos的驱动设计】

时间:2024-07-04 09:31:31浏览次数:8  
标签:Dio LED Tresos 原理图 EB DIO 按键 Mcu Port

前言

本专栏会以NXP S32K144为依托,记录各个模块的原理和实现方法。
首先第一个模块都是以PORT模块开始,以此模块制定目标:
以按键控制对应的LED灯,按键不按时,对应LED灯熄灭,当按下按键时对应LED灯点亮。
为了实现这个功能,需要用到PORT和DIO模块,PORT模块是用于配置port端口,DIO模块是用于配置pin脚。

电路原理图

先上原理图。
Alt
从LED原理图可知,电路有4个LED灯,LED灯一端连接电源VCC_MCU。
Alt
从按键原理图可知,电路有3个按键,不按按键时按键接地,按下按键时,按键另一端和VCC_MCU连接,使按键产生电压。
Alt
从LED原理图可知,可得到以下信息:

LED灯MCU端口
LEDG(reen)PTD16
LEDR(ed)PTD15
LEDY(ellow)PTD1
LEDB(lue)PTD0

Alt
Alt
从LED原理图可知,可得到以下信息:

KEY按键MCU端口
KEY1PTC12
KEY2PTC13
KEY3PTB2

EB Tresos配置

debug 设置

为了能够使用debug能力,JTAG pin脚需要在Port driver中配置。pin脚包括JTAG_TDO, JTAG_TMS, Reset_b。
具体配置如下:

Alt

Alt
Alt
Alt
Alt

KEY 和LED设置

Alt由于LED灯是被控制设备,其方向需设置为OUT。

Alt

Alt

DIO设置

Dio Port Id,映射了序号和Port端口关系

Dio Port IdPort端口
0PortA
1PortB
2PortC
3PortD

Dio Channel Id,映射了t特定Port端口和Pin脚关系
Each of the 5 ports have a number of 32 pins, such that the pins are allocated to ports
like below:
• 0-31 -> PORTA
• 32-63 -> PORTB
• 64-95 -> PORTC
• 96-127 -> PORTD
• 128-159 -> PORTE

LED 在DIO设置

LED Green灯对应端口为Port16,其在DIO模块的设置方法如下:
Alt

KEY 在DIO设置

KEY2对应端口为PortC 13,其在DIO模块的设置方法如下:
Alt

Alt

驱动代码


/*
 * main implementation: use this 'C' sample to create your own application
 *
 */

#include "Mcu.h"
#include "Mcu_Cfg.h"
#include "Port.h"
#include "Port_Cfg.h"
#include "Dio.h"
#include "Dio_Cfg.h"


/**
* @brief        Main function of the example
* @details      Initializez the used drivers and uses the Icu
*               and Dio drivers to toggle a LED on a push button
*/
int main(void)
{
    uint8 RET = 0;
    /* Initialize the Mcu driver */
    Mcu_Init(&McuModuleConfiguration);

    Mcu_InitClock(McuClockSettingConfig_0);
#if (MCU_NO_PLL == STD_OFF)
    while ( MCU_PLL_LOCKED != Mcu_GetPllStatus() )
    {
        /* Busy wait until the System PLL is locked */
    }

    Mcu_DistributePllClock();
#endif
    Mcu_SetMode(McuModeSettingConf_0);
    /* Initialize all pins using the Port driver */
    Port_Init(&PortConfigSet);
    

    while (1)
    {

        RET = Dio_ReadChannel(77);//PTC13

        if(RET == 1)//PRESSED
        {
            Dio_WriteChannel((Dio_ChannelType)DioConf_DioChannel_LED_G, (Dio_LevelType)STD_LOW);//OFF
            
        }
        else
        {
            Dio_WriteChannel((Dio_ChannelType)DioConf_DioChannel_LED_G, (Dio_LevelType)STD_HIGH);//OFF
            
        }

    }
    while(1);
    return (0U);
}

总结

本节按照原理图,EB配置和驱动代码顺序,详细论述了如何实现PORT驱动的实验目标。

标签:Dio,LED,Tresos,原理图,EB,DIO,按键,Mcu,Port
From: https://blog.csdn.net/OnlyMars/article/details/140169474

相关文章

  • webshell转远程桌面
    就在刚刚我成功的通过webshell跳到了远程桌面下面记录一下拿下的过程参考以下链接即可添加用户(「渗透技巧」添加administrator影子用户-CSDN博客)[https://blog.csdn.net/Javachichi/article/details/129280873]开启远程桌面端口(单独记录内网渗透时如何使用命令行允许远程......
  • debug调试实现 - printf打印日志
    debug调试实现-printf打印日志printf执行一次很费时间,所以需要在调试结束后,把printf去掉1.设置一个开关/功能裁剪:打开时有printf关闭没有使用宏定义设计#defineDEBUG1#if(DEBUG==1) //在宏定义中if判断------------------------#definedebug_printf() printf......
  • Web请求过程
            重点:需要理解从用户在浏览器点击一条链接开始,到我们的服务器返回结果给浏览器,中间发生了哪些过程,需要哪些技术.概述    互联网的网络架构已从传统的C/S架构转变为了B/S架构.    B/S架构的优点:客户端:使用统一的浏览器(Browser),使......
  • Web基础知识扫盲
    1、中间件定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。常见的中间件:IIS、Apache、Nginx、Tomcat2、NAT网络地址转换这里只介绍动态转换一种动态转换:是指将内部......
  • linear algebra(3)
    linearequations研究\(n\)个\(n\)元线性方程的解的数量判定。columnpicture将线性方程组视为对列的线性组合,考虑其columnpicture。case1:columnvectorsarelinearindependence此时有唯一解。考虑将这些列向量作为基以后张成的空间,由于其线性无关,所以必定是一个\(......
  • IIS(Internet Information Services)是Windows操作系统中的一种Web服务器软件。以下是一
    IIS(InternetInformationServices)是Windows操作系统中的一种Web服务器软件。以下是一些常见的与IIS相关的命令和工具:IISRESET:作用:重启IIS服务。语法:iisreset[/noforce][/restart][/stop][/start][/status][/reboot][/help]APPCMD:作用:用于配置IIS7.x及以上版......
  • [debug]解决cmake编译报错:can not be used when making a PIE object:recompile with -
    问题描述最近在跟施磊老师的高性能服务器项目,使用make命令后一直报错以下问题解决方法报错一大堆recompilewith-fPIC,多半是链接静态库是出错了。根据网上经验,在CmakeLists文件中加入-no-pie,但是两种方法进行尝试后都没有效果。#第一种方法add_compile_options(-fPIC)#......
  • Web安全基础学习:Python反序列化漏洞之pickle反序列化
    理论基础序列化与反序列化序列化和反序列化是指用于将对象或数据结构转换为字节流的过程,以便在不同系统之间进行传输或存储,并在需要时重新构造。序列化是指将对象或数据结构转换为字节流的过程。在序列化过程中,对象的状态和数据被转换为一系列字节,这些字节可以按照一定......
  • 【JavaScript脚本宇宙】高效Web开发利器:全面解析六大HTML解析器与DOM库
    精益求精:揭秘六个改变Web开发的HTML解析与DOM操作工具前言在现代Web开发中,HTML解析器和DOM操作库是不可或缺的工具。无论是爬取数据、处理复杂的HTML文档,还是模拟浏览器环境,这些工具都扮演着关键角色。本文将深入探讨六个广泛使用的HTML解析器和DOM操作库,它们分别是:htmlpa......
  • WebService解释
    WebService解释WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。其中的:XML:(ExtensibleMarkupLanguage)扩展型可标记语言。面向短期的临时......