S32的进阶之路->4,S32DS的GPIO配置

硬件:S32K144开发板

软件:S32DS 2.2

1,S32K144硬件连接说明

        IO口分配情况如下,S32K144开发板具有3个按键和4个LED灯,具体与芯片的引脚连接情况如下所示。

 * IO口分配情况
 * KEY1 PTC12
 * KEY2 PTC13
 * KEY3 PTB2
 * LED1 PTD16
 * LED2 PTD15
 * LED3 PTD1
 * LED4 PTD0

2,S32K144的GPIO配置

        S32DS的外设配置通过图形配置工具Component Inspector来实现。双击Components下方的pin_mux按钮打开图形配置工具Component Inspector(可能要多次双击)。可以双击图形配置工具Component Inspector空白处让它最大化方便我们进行配置。

        选择GPIO进行配置,将按键引脚配置成输入input,将LED灯引脚配置成输出output。

        接下来配置输入引脚为下拉模式,默认电平为低电平。这样按键按下则为高电平,抬起则为低电平。右击PTC12,选择第二个选项Pin Functional Properties,将上下拉模式选择为下拉,默认电平为低电平。完成后点击Done完成GPIO引脚配置。关闭图形配置工具Component Inspector回到工程。

  

3,S32K144的GPIO常用函数说明

1,GPIO引脚初始化函数。输入变量pinCount为GPIO引脚目录,输入变量config为GPIO引脚配置结构体。

status_t PINS_DRV_Init(uint32_t pinCount,const pin_settings_config_t config[]);

2,GPIO引脚写入函数。输入变量base为端口号,输入变量pin为引脚号,输入变量value为电平状态。PINS_SRV_WritePin是对单个引脚进行操作,PINS_SRV_WritePins是对整个端口进行操作。

void PINS_DRV_WritePin(GPIO_Type * const base,pins_channel_type_t pin,pins_level_type_t value);
void PINS_DRV_WritePins(GPIO_Type * const base,pins_channel_type_t pins);

3,GPIO引脚读出函数。输入变量base为端口号,输出变量为端口的电平状态。

pins_channel_type_t PINS_DRV_ReadPins(const GPIO_Type * const base);

4,S32K144的GPIO实战

        实现四个LED灯的按键控制点亮,按下KEY1后四个LED点亮,松开后熄灭。

	PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr);//初始化引脚
    while(1)
    {
    	pinstate = (PINS_DRV_ReadPins(PTC) >> 12) & 0X01;
    	if(pinstate)
    	{
    		PINS_DRV_WritePin(PTD,16,0);//LED全部点亮
    		PINS_DRV_WritePin(PTD,15,0);
    		PINS_DRV_WritePin(PTD,1,0);
    		PINS_DRV_WritePin(PTD,0,0);
    	}
    	else
    	{
    		PINS_DRV_WritePin(PTD,16,1);//LED全部熄灭
    		PINS_DRV_WritePin(PTD,15,1);
    		PINS_DRV_WritePin(PTD,1,1);
    		PINS_DRV_WritePin(PTD,0,1);
    	}
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值