S32K144(3)按键

原理图

        在这一节中,实现的是通过按键控制LED的亮灭,按下按键时LED亮,松开按键后LED灭,其他的拓展就靠各位自己的发挥了。

按键部分

        在这个原理图中,不用纠结电路的连接方式,这个是在官方DEMO板原理图上搬过来的,其实其他连接方式也可以用,这里就以官方板子的电路为例,编写它的控制程序。

        这里的R8为下拉电阻,按键没有按下时PTC14引脚保持低电平,按下按键后PTC14引脚为高电平。

LED部分

LED的控制程序在上一节中介绍过了,详见    S32K144(2)点亮LEDhttp://t.csdn.cn/ZfCd1


一、双击打开pin_mux组件

        通过pin_mux配置GPIO的状态。 

二、配置pin_mux

        因为按键是状态输入,所以需要将PTC14配置为输入(Input)。 

 三、组件生成代码

        上述配置都设置完以后,点击代码生成,会自动生成GPIO的初始化程序。 

 自动生成的代码如下图所示:

四、调用pin_mux的库函数

PINS_DRV_ReadPins为读取引脚状态的库函数,这个结尾“s”说明它读取的是PTC全部引脚的状态,我们需要的仅仅是PTC14的状态,所以需要在这个函数的基础上“与”一个(1<<14),即

 PINS_DRV_ReadPins(PTC)&(1<<14)

 while(1)
    {
    	unsigned char a = PINS_DRV_ReadPins(PTC)&(1<<14);//将PTC14的值赋给a
    	if(a)//判断a的状态,a=1为真,代表按键按下,否则就是按键没按下
    	{
    		PINS_DRV_WritePin(PTB,2,0);//PTB2为低电平,LED点亮
    	}
    	else
    	{
    		PINS_DRV_WritePin(PTB,2,1);//PTB2为高电平,LED熄灭
    	}
    }

五、时钟、GPIO初始化

代码:

CLOCK_DRV_Init(&clockMan1_InitConfig0);

PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr);

六、整体程序编译

七、烧录

        通过J-Link烧录进芯片。 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值