查看: 750|回复: 0

[评测分享] 【NXP OKdo E1双核Cortex M33开发板】试用6-中断和按键

[复制链接]
  • TA的每日心情

    前天 14:29
  • 签到天数: 2062 天

    连续签到: 4 天

    [LV.Master]伴坛终老

    发表于 2020-11-22 15:01:20 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 satoll 于 2020-11-30 17:08 编辑

    在学习完时钟和定时器相关知识后,GPIO的输入,中断的使用还需要进一步了解,所以本实验开始学习驱动开发板上的按键。
    001.png
    根据开发板的管脚图,可以看到两个用户按键分别使用了PIO1_9和PIO0_5。SW201使用了WAKEUP管脚。
    002.png
    在原理图上可以查看到,WAKEUP使用的是PIO1_18引脚。
    003.png
    在引脚配置界面搜索PIO1_9,选中后配置引脚信号为PINT0。
    004.png
    在引脚配置界面搜索PIO0_5,选中后配置引脚信号为PINT1。
    005.png
    在引脚配置界面搜索PIO1_18,选中后配置引脚信号为PINT2。
    006.png
    更新源代码,提示pin_mux文件会有所更改。
    007.png
    在SDK配置界面添加驱动,这里增加inputmux和pint驱动即可。这两个驱动就可以是的GPIO能够处理输入和中断了。
    008.png
    返回到代码编辑界面,在驱动列表中就可以发现增加了相关文件。在主程序文件中增加头文件,以便使用相关函数。增加三个全局变量,记录按键事件。
    009.png
    定义三个按键中断函数,其中前两个中断中按键值自动增加,范围0~5循环,根据值设置led灯的亮度。第三个按键用来标记一个状态,可以指示是手动控制led还是自动控制。
    010.png
    在main函数中初始化PINT,然后设置三个输入引脚属性,这里我们采用上升沿产生中断,中断回调函数指定为前面实现的函数。
    011.png
    在主循环中增加一个条件,用来控制是手动控制LED还是自动控制LED的亮度。

    通过按钮,就可以手动控制LED的亮度调节了。



    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 14:50 , Processed in 0.118607 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.