0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用NXP的官方生态快速搭建USB相关的工程模板

恩智浦MCU加油站 来源:恩智浦MCU加油站 作者:牛 2021-11-18 17:30 次阅读

本文的内容和视频的起意,是因为B站好(粉)汉(丝)中的一位后台留言说,他想要APDS9960实现PPT翻页器的教程。你看人家哥特萝莉的头像,而且作为一个无BGM无字幕无后期的三无B站小户,自然不能漠视,所以就有了这个教程视频以及文章。

后来整理好后,感觉其实这个教程挺好的,可以非常高效的展示如何利用NXPSDK包,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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2551

    文章

    51177

    浏览量

    754294
  • NXP
    NXP
    +关注

    关注

    60

    文章

    1281

    浏览量

    184454
  • usb
    usb
    +关注

    关注

    60

    文章

    7952

    浏览量

    264938

原文标题:LPC55xx+PAJ7620手势传感器实现USB PPT翻页器【附教程视频】

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何用VSCODE创建一个LE5010的工程模板

    我想问下,就是怎么用vscode来创建LE5010的工程模板,我看网上的资料很少很少,官方给的SDK有,但是只能SDK里面来写代码,所以就想问一问! (有偿)
    发表于 12-04 10:01

    OpenHarmony人才生态大会南向生态社区发展论坛在武汉圆满举办

    IoT产品部副总经理施超介绍参与硬件生态建设进展,基于OpenHarmony打造中移智鸿操作系统,旨在实现设备互联互通和应用生态融合,推动智慧家庭业务的快速增长。目前,中国移动已在OpenHarmony
    发表于 11-29 09:54

    何用python控制usb2any?

    我想用python控制usb2any,在网上搜索后得到的关于usb2any的资料很少,是否有官方usb2any函数库?
    发表于 11-08 14:36

    塔革特官方教学第一期:元器件及其库相关操作。

    共同探索PCB设计之旅,深入了解TARGET3001!电子设计软件,体验高性价比的魅力。欢迎各位电子工程师参与塔革特官方教学直播第一期:元器件及其库相关操作。
    发表于 11-08 11:32

    何用分立器件搭建多个超级电容串联的充电保护电路

    何用分立器件搭建多个超级电容串联的充电保护电路?利用并联电阻的方法效果不理想
    发表于 10-22 21:50

    何用python控制usb2any?

    我想用python控制usb2any,在网上搜索后得到的关于usb2any的资料很少,是否有官方usb2any函数库?
    发表于 09-27 06:44

    【米尔NXP i.MX 93开发板试用评测】3、NXP的MCU工程目录结构和源码分析

    MCU工程的构建系统 NXP使用的是CMake构建系统,这也是目前非常常见的一种构建系统。 CMake是一个跨平台的自动化构建系统,它使用配置文件(称为CMakeLists.txt)来生成标准的构建
    发表于 09-21 21:11

    何用OPA333搭建一个单电源同相放大电路?

    何用OPA333搭建一个单电源同相放大电路?虚拟地能用电源地吗?输出的电压是以虚拟地为参考?如果是以虚拟地为参考那与输入电压的倍数关系是怎样的?
    发表于 09-05 06:25

    用OPA2376搭建了一个电流源电路,如何用TINA软件仿真该电流源电路的环路稳定性?

    我用OPA2376搭建了一个电流源电路(电压转换为电流),请问如何用TINA软件仿真该电流源电路的环路稳定性?有没有相关的参考文档
    发表于 08-06 07:31

    关键指南针-NXP USB CDC_VCOM虚拟串口例程

    文章适用于NXP大部分的硬件平台,因为usb_device_cdc_vcom(以下简称vcom)这部分例程代码和硬件关系并不大,属于USB Stack之上的应用部分,另外这部分代码在SDK的各个版本上变化也不是很大,所以如果您使
    的头像 发表于 07-25 09:17 2063次阅读
    关键指南针-<b class='flag-5'>NXP</b> <b class='flag-5'>USB</b> CDC_VCOM虚拟串口例程

    请问USB的D+和D-如何使用?

    什么原因? 参考ESP32S3的开发板设计,有USB和UART两个接口,但是官方文档说USB现在不能用,但是ESP-BOX又可以用,请问GPIO19和GPIO20要如何用? 验证板第一
    发表于 06-27 07:20

    使用官方教程搭建Windows下的Eclipse IDE环境出错怎么解决?

    使用官方教程搭建Windows下的Eclipse IDE环境出错,不知该如何解决?
    发表于 06-18 06:50

    CW32F003E4芯片入门学习:4.工程模板创建(使用例程或模板)

    模板路径:CW32F003_StandardPeripheralLib_V1.4ExamplesTemplate
    的头像 发表于 04-24 14:14 410次阅读
    CW32F003E4芯片入门学习:4.<b class='flag-5'>工程</b><b class='flag-5'>模板</b>创建(使用例程或<b class='flag-5'>模板</b>)

    HAL工程应该这样搭建

    不一、为何要自己手动搭建一个软件工程?(1)在KeilMDK的开发环境下:工程师都会找一个模板,这个模板可能是在某一家开发板厂家提供的一个例
    的头像 发表于 03-26 08:09 831次阅读
    HAL<b class='flag-5'>工程</b>应该这样<b class='flag-5'>搭建</b>

    cyusb3035只有USB接口和一个UART,能否搭建调试环境?

    自己做了块板子,上面有cyusb3035这个芯片,固件部分需要按照要求自己修改,在调试时发现板子目前只有USB接口和一个UART,请问在这种情况下,能否搭建调试环境?假如可以,我改如何搭建呢?请问有
    发表于 02-29 08:17