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