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

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

    关注

    2545

    文章

    50439

    浏览量

    750972
  • NXP
    NXP
    +关注

    关注

    60

    文章

    1264

    浏览量

    182854
  • usb
    usb
    +关注

    关注

    60

    文章

    7874

    浏览量

    263674

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

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

收藏 人收藏

    评论

    相关推荐

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

    何用分立器件搭建多个超级电容串联的充电保护电路?利用并联电阻的方法效果不理想
    发表于 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 1718次阅读
    关键指南针-<b class='flag-5'>NXP</b> <b class='flag-5'>USB</b> CDC_VCOM虚拟串口例程

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

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

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

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

    HAL工程应该这样搭建

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

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

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

    USB接口的相关介绍

    USB作为目前功能最为强大的接口,除了支持很多外设,如键盘、鼠标等。还可以进行多种总线的转换,如USB转网口、USB转CAN等,这篇文章我们就来学习一下USB接口的
    的头像 发表于 12-06 15:47 1020次阅读
    <b class='flag-5'>USB</b>接口的<b class='flag-5'>相关</b>介绍

    何用“搭积木“方式快速搭建智慧工厂大屏

    传统的工厂管理方式里,管理层缺乏一个可视化的工具来实现对工厂生产的整体管理。通过ZWS云低代码平台,可以使用“搭积木“的方式快速搭建出一个智慧工厂可视化大屏,实现工厂管理的实时高效。ZWS云低代码
    的头像 发表于 12-06 08:24 461次阅读
    如<b class='flag-5'>何用</b>“搭积木“方式<b class='flag-5'>快速</b><b class='flag-5'>搭建</b>智慧工厂大屏

    鸿蒙原生应用/元服务开发-新版本端云一体化模板体验反馈

    一、前言 云端一体化模板是基于Serverless服务构建的一套模板,提供了应用生态常见场景需求的代码实现,开发者可将所需能力快速部署和集成到自己的应用中。 二、准备 体验最新的远端一
    发表于 12-05 14:57

    USB线如何快速延长?USB延长线太长会有影响吗?

    USB线如何快速延长?USB延长线太长会有影响吗?USB延长线带电源怎么使用? USB(Universal Serial Bus,通用串行总
    的头像 发表于 11-28 15:51 4029次阅读

    手把手带你创建HAL版本MDK工程模板

    如何快速开发 STM32 项目?我们总不能每次开发一个项目就搭建一次工程,这样效率太低了。
    的头像 发表于 11-20 10:31 911次阅读
    手把手带你创建HAL版本MDK<b class='flag-5'>工程</b><b class='flag-5'>模板</b>