查看: 4723|回复: 1

[原创] [更新好了]如何基于LPC55利用PAJ7620做个翻页器

[复制链接]
  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    103

    主题

    869

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4353
    最后登录
    2025-8-21
    发表于 2021-8-6 18:23:05 | 显示全部楼层 |阅读模式
    本帖最后由 mgn 于 2021-12-19 12:51 编辑

    之所以临时加了这篇文章和视频,是因为我B站53好(粉)汉(丝)中的一位后台留言说他想要APDS9960实现PPT翻页器的教程,如下图⬇️。你看人家哥特萝莉的头像,而且作为一个无BGM无字幕无后期的三无B站小户,自然不能漠视,所以就有了这个教程视频以及文章。
    截屏2021-08-07 下午4.12.14.png
    后来整理好后想想,其实这个教程挺好的,可以非常高效的展示如何利用NXP的SDK包,MCUXpresso IDE以及配置工具Config Tool搭建一个基于USB接口的工程,遂结合视频写下这篇文章做个心得记录。
    一、开发工具搭建
    我之前有上传B站两个视频,专门介绍SDK,IDE以及配置工具的
    当然这篇文章在这里主要是提示各位看官要去下载最新的SDK(2.10), 最新的MCUXpresso IDE(11.4.0) 以及最新的Config Tool(v10),不知道HTTP门牌号的请记住这里mcuxpresso.nxp.com。版本同步好后,我们就可以利用NXP的生态链在不到30分钟的时间内搭建一个基于USB接口的工程。
    二、硬件搭建
    我们这个demo用的是LPC55S69-IOT Kit以及淘宝买的PAJ7620模块,用的是I2C接口,没有用到中断引脚,程序走的是轮询的方式获取手势数据的。具体接线方法如下图:
    IMG_0132.jpg
    PAJ7620的驱动程序参考(git clone)的是SeedStudio公布在github上的代码,license是MIT的。
    截屏2021-08-07 下午4.44.46.png
    三、基于MCUXpresso工具链快速生成参考工程模板
    这一部分参考我提供的B站视频
    这里我们用的是GPIO的例程作为工程的原始模板,后边用配置工具一步步的增加功能。
    新手用户,记得把下载好的SDK代码包拖拽到MCUXpresso IDE的“Installed SDKs”下。
    截屏2021-08-07 下午4.35.53.png
    四、通过MCUXpresso IDE集成的配置工具增加外设驱动
    新建好工程后,我们可以通过右上脚的配置工具按钮进入Config Tool的界面,
    截屏2021-08-07 下午4.51.26.png
    在外设界面下增加需要的外设驱动,点击“确认”后,工程会自动添加对应的“fsl_xxx.c”和“fsl_xxx.h”,记得一点,如果要增加外设驱动,需要“使能”外设的功能。 注意要在“组件管理器”中选择“Drivers”。
    截屏2021-08-07 下午10.05.41.png
    五、通过MCUXpresso IDE集成的配置工具增加USB组件
    USB外设在配置工具里是以Middleware的形式出现的,所以咱们要在“组件管理器”中选择“Middleware”了,在Middleware下选择USB,然后根据需要去掉不需要的USB类以及选择主从机等。
    截屏2021-08-07 下午10.16.42.png
    在Middleware中添加了USB组件后,会有一些系统级的配置问题,按照右下角提示的内容修改时钟、引脚的配置,也可能需要右键点击问题然后让配置工具自动添加代码修复问题。
    USB组件可以通过配置工具轻松简单的配置USB相关的信息,比如Class,VID,PID等等。也可以轻松实现复合类。
    截屏2021-08-08 下午12.22.00.png
    六、USB HID键盘配合PAJ7620的手势实现翻页
    工程配置好后,我们需要把app_paj7620.c / app_paj7620.h添加到source目录里(直接拖拽进去即可)。然后在main.c的初始化部分调用paj7620Init(),在while(1)中调用paj7620_task()即可实现PAJ7620手势识别的功能
    截屏2021-08-08 下午12.36.17.png
    根据不同的手势结果(代码里的变量g_PAJ7620代表了手势的结果)在usb_device_interface_0_hid_keyboard.c中的USB_DeviceHidKeyboardAction()通过USB_DeviceHidSend()发送给PC即可。
    截屏2021-08-08 下午12.40.40.png
    小结
    这篇文章的主要内容是介绍如何用NXP的官方生态快速搭建USB相关的工程模板,结合PAJ7620倒是其次,希望视频和文章都能很好的帮到大家。我觉得刚上手可能要个把小时,熟悉后基本30分钟内就可以搭出来了。
    代码 fanyeqi_test_ok.zip (884.26 KB, 下载次数: 66)
    回复

    使用道具 举报

  • TA的每日心情

    2025-5-29 09:38
  • 签到天数: 632 天

    连续签到: 1 天

    [LV.9]以坛为家II

    94

    主题

    1639

    帖子

    2

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4470

    热心会员

    最后登录
    2025-6-10
    发表于 2021-8-10 10:01:15 | 显示全部楼层
    NICE,谢谢分享~
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-6 08:27 , Processed in 0.091252 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表