0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用NXP的官方生態(tài)快速搭建USB相關(guān)的工程模板

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:牛 ? 2021-11-18 17:30 ? 次閱讀

本文的內(nèi)容和視頻的起意,是因為B站好(粉)漢(絲)中的一位后臺留言說,他想要APDS9960實現(xiàn)PPT翻頁器的教程。你看人家哥特蘿莉的頭像,而且作為一個無BGM無字幕無后期的三無B站小戶,自然不能漠視,所以就有了這個教程視頻以及文章。

后來整理好后,感覺其實這個教程挺好的,可以非常高效的展示如何利用NXPSDK包,MCUXpressoIDE以及配置工具Config Tool搭建一個基于USB接口的工程,遂結(jié)合視頻寫下這篇文章做個心得記錄。

開發(fā)工具搭建

我之前在B站上傳了兩個視頻,專門介紹SDK,IDE以及配置工具:

一個是如何上手NXP家MCU的SDK代碼包和IDE 另外一個是用MCUXpresso Config Tool配置工具快速生成KEIL和IAR的工程模板 當(dāng)然這篇文章在這里主要是提示各位看官,要去下載最新的SDK(2.10), 最新的MCUXpresso IDE(11.4.0) 以及最新的Config Tool(v10),不知道HTTP門牌號的請記住這里mcuxpresso.nxp.com。 版本同步好后,我們就可以利用NXP的生態(tài)鏈,在不到30分鐘的時間內(nèi)搭建一個基于USB接口的工程。

硬件搭建

我們這個demo用的是LPC55S69-IOT Kit以及淘寶買的PAJ7620模塊,用的是I2C接口,沒有用到中斷引腳,程序走的是輪詢的方式獲取手勢數(shù)據(jù)的。

PAJ7620的驅(qū)動程序參考(git clone)的是SeedStudio公布在github上的代碼,license是MIT的。

基于MCUXpresso工具鏈

快速生成參考工程模板

這一部分參考我提供的B站視頻。

這里我們用的是GPIO的例程作為工程的原始模板,后邊用配置工具一步步的增加功能。

新手用戶,記得把下載好的SDK代碼包拖拽到MCUXpresso IDE的“Installed SDKs”下。

通過MCUXpresso IDE集成的

配置工具增加外設(shè)驅(qū)動

新建好工程后,我們可以通過MCUXpresso IDE右上腳的配置工具按鈕,進入集成的Config Tool界面,

在外設(shè)界面下增加需要的外設(shè)驅(qū)動,點擊“確認(rèn)”后,工程會自動添加對應(yīng)的“fsl_xxx.c”和“fsl_xxx.h”,記得一點,如果要增加外設(shè)驅(qū)動,需要“使能”外設(shè)的功能。注意要在“組件管理器”中選擇“Drivers”。

通過MCUXpresso IDE集成的

配置工具增加USB組件

USB外設(shè)在配置工具里是以Middleware的形式出現(xiàn)的,所以咱們要在“組件管理器”中選擇“Middleware”了,在Middleware下選擇USB,然后根據(jù)需要去掉不需要的USB類以及選擇主從機等。

在Middleware中添加了USB組件后,會有一些系統(tǒng)級的配置問題,按照右下角提示的內(nèi)容修改時鐘、引腳的配置,也可能需要右鍵點擊問題然后讓配置工具自動添加代碼修復(fù)問題。

USB組件可以通過配置工具輕松簡單的配置USB相關(guān)的信息,比如Class,VID,PID等等。也可以輕松實現(xiàn)復(fù)合類。

USB HID鍵盤配合

PAJ7620的手勢實現(xiàn)翻頁

工程配置好后,我們需要把app_paj7620.c / app_paj7620.h添加到source目錄里(直接拖拽進去即可)。然后在main.c的初始化部分調(diào)用paj7620_Init(),在while(1)中調(diào)用paj7620_task()即可實現(xiàn)PAJ7620手勢識別的功能

根據(jù)不同的手勢結(jié)果(代碼里的變量gPAJ7620代表了手勢的結(jié)果)在usb_device_interface_0_hid_keyboard.c中的USB_DeviceHidKeyboardAction()通過USB_DeviceHidSend()發(fā)送給PC即可。

小結(jié)

這篇文章的主要內(nèi)容是介紹如何用NXP的官方生態(tài)快速搭建USB相關(guān)的工程模板,結(jié)合PAJ7620倒是其次,希望視頻和文章都能很好的幫到大家。我覺得剛上手可能要個把小時,熟悉后基本30分鐘內(nèi)就可以搭出來了。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2552

    文章

    51322

    瀏覽量

    755361
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    60

    文章

    1287

    瀏覽量

    184877
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7969

    瀏覽量

    265343

原文標(biāo)題:LPC55xx+PAJ7620手勢傳感器實現(xiàn)USB PPT翻頁器【附教程視頻】

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    何用mac電腦搭建云存儲,怎么用Mac電腦搭建云存儲呢?

    都能提供強大的支持。那么,如何用Mac電腦搭建云存儲呢?接下來,讓我們一同開啟這場探索之旅。 ? ?1、準(zhǔn)備工作 ? ?硬件檢查:確保Mac電腦的硬件性能良好。處理器性能會影響數(shù)據(jù)傳輸速度,建議選擇性能較好的處理器;內(nèi)存要充足,
    的頭像 發(fā)表于 01-17 14:15 ?61次閱讀
    如<b class='flag-5'>何用</b>mac電腦<b class='flag-5'>搭建</b>云存儲,怎么用Mac電腦<b class='flag-5'>搭建</b>云存儲呢?

    何用VSCODE創(chuàng)建一個LE5010的工程模板

    我想問下,就是怎么用vscode來創(chuàng)建LE5010的工程模板,我看網(wǎng)上的資料很少很少,官方給的SDK有,但是只能SDK里面來寫代碼,所以就想問一問! (有償)
    發(fā)表于 12-04 10:01

    OpenHarmony人才生態(tài)大會南向生態(tài)社區(qū)發(fā)展論壇在武漢圓滿舉辦

    IoT產(chǎn)品部副總經(jīng)理施超介紹參與硬件生態(tài)建設(shè)進展,基于OpenHarmony打造中移智鴻操作系統(tǒng),旨在實現(xiàn)設(shè)備互聯(lián)互通和應(yīng)用生態(tài)融合,推動智慧家庭業(yè)務(wù)的快速增長。目前,中國移動已在OpenHarmony
    發(fā)表于 11-29 09:54

    何用python控制usb2any?

    我想用python控制usb2any,在網(wǎng)上搜索后得到的關(guān)于usb2any的資料很少,是否有官方usb2any函數(shù)庫?
    發(fā)表于 11-08 14:36

    何用分立器件搭建多個超級電容串聯(lián)的充電保護電路

    何用分立器件搭建多個超級電容串聯(lián)的充電保護電路?利用并聯(lián)電阻的方法效果不理想
    發(fā)表于 10-22 21:50

    何用python控制usb2any?

    我想用python控制usb2any,在網(wǎng)上搜索后得到的關(guān)于usb2any的資料很少,是否有官方usb2any函數(shù)庫?
    發(fā)表于 09-27 06:44

    【米爾NXP i.MX 93開發(fā)板試用評測】3、NXP的MCU工程目錄結(jié)構(gòu)和源碼分析

    MCU工程的構(gòu)建系統(tǒng) NXP使用的是CMake構(gòu)建系統(tǒng),這也是目前非常常見的一種構(gòu)建系統(tǒng)。 CMake是一個跨平臺的自動化構(gòu)建系統(tǒng),它使用配置文件(稱為CMakeLists.txt)來生成標(biāo)準(zhǔn)的構(gòu)建
    發(fā)表于 09-21 21:11

    何用OPA333搭建一個單電源同相放大電路?

    何用OPA333搭建一個單電源同相放大電路?虛擬地能用電源地嗎?輸出的電壓是以虛擬地為參考?如果是以虛擬地為參考那與輸入電壓的倍數(shù)關(guān)系是怎樣的?
    發(fā)表于 09-05 06:25

    用OPA2376搭建了一個電流源電路,如何用TINA軟件仿真該電流源電路的環(huán)路穩(wěn)定性?

    我用OPA2376搭建了一個電流源電路(電壓轉(zhuǎn)換為電流),請問如何用TINA軟件仿真該電流源電路的環(huán)路穩(wěn)定性?有沒有相關(guān)的參考文檔
    發(fā)表于 08-06 07:31

    關(guān)鍵指南針-NXP USB CDC_VCOM虛擬串口例程

    文章適用于NXP大部分的硬件平臺,因為usb_device_cdc_vcom(以下簡稱vcom)這部分例程代碼和硬件關(guān)系并不大,屬于USB Stack之上的應(yīng)用部分,另外這部分代碼在SDK的各個版本上變化也不是很大,所以如果您使
    的頭像 發(fā)表于 07-25 09:17 ?2160次閱讀
    關(guān)鍵指南針-<b class='flag-5'>NXP</b> <b class='flag-5'>USB</b> CDC_VCOM虛擬串口例程

    請問USB的D+和D-如何使用?

    什么原因? 參考ESP32S3的開發(fā)板設(shè)計,有USB和UART兩個接口,但是官方文檔說USB現(xiàn)在不能用,但是ESP-BOX又可以用,請問GPIO19和GPIO20要如何用? 驗證板第一
    發(fā)表于 06-27 07:20

    使用官方教程搭建Windows下的Eclipse IDE環(huán)境出錯怎么解決?

    使用官方教程搭建Windows下的Eclipse IDE環(huán)境出錯,不知該如何解決?
    發(fā)表于 06-18 06:50

    CW32F003E4芯片入門學(xué)習(xí):4.工程模板創(chuàng)建(使用例程或模板)

    模板路徑:CW32F003_StandardPeripheralLib_V1.4ExamplesTemplate
    的頭像 發(fā)表于 04-24 14:14 ?423次閱讀
    CW32F003E4芯片入門學(xué)習(xí):4.<b class='flag-5'>工程</b><b class='flag-5'>模板</b>創(chuàng)建(使用例程或<b class='flag-5'>模板</b>)

    HAL工程應(yīng)該這樣搭建

    不一、為何要自己手動搭建一個軟件工程?(1)在KeilMDK的開發(fā)環(huán)境下:工程師都會找一個模板,這個模板可能是在某一家開發(fā)板廠家提供的一個例
    的頭像 發(fā)表于 03-26 08:09 ?850次閱讀
    HAL<b class='flag-5'>工程</b>應(yīng)該這樣<b class='flag-5'>搭建</b>

    cyusb3035只有USB接口和一個UART,能否搭建調(diào)試環(huán)境?

    自己做了塊板子,上面有cyusb3035這個芯片,固件部分需要按照要求自己修改,在調(diào)試時發(fā)現(xiàn)板子目前只有USB接口和一個UART,請問在這種情況下,能否搭建調(diào)試環(huán)境?假如可以,我改如何搭建呢?請問有
    發(fā)表于 02-29 08:17