chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

使用恩智浦FRDM-MCXN947開(kāi)發(fā)板LVGL移植觸摸屏

安富利 ? 來(lái)源:與非網(wǎng) ? 2025-07-17 14:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

恩智浦“FRDM-MCXN947”評(píng)測(cè)活動(dòng)由安富利和與非網(wǎng)協(xié)同舉辦。本篇內(nèi)容由與非網(wǎng)用戶發(fā)布,已獲轉(zhuǎn)載許可。原文可在與非網(wǎng)(eefocus)工程師社區(qū)查看。

背景

上一期【用戶測(cè)評(píng)(七):移植LVGL跑benchmark】已經(jīng)實(shí)現(xiàn)了觸摸屏的觸摸效果,但是沒(méi)有接入到LVGL,現(xiàn)在開(kāi)干。

LVGL移植觸摸屏詳解

01對(duì)應(yīng)的輸入設(shè)備文件

LVGL接入輸入設(shè)備,可以參考其自帶的示例,即examples/porting/lv_port_indev_template.c文件和對(duì)應(yīng)的頭文件。咱們先把這兩個(gè)文件拷貝出來(lái),放到bsp/lvgl_port/目錄下,并重命名為lv_port_indev.c和lv_port_indev.h。

02修改lv_port_indev.c/.h

這兩個(gè)文件都使用#if 0括了起來(lái),需要改成#if 1使能,然后包含正確的頭文件,如下圖所示,僅包含lv_port_indev.h和touch.h文件即可。

93922650-615b-11f0-baa5-92fbcf53809c.png

03關(guān)鍵函數(shù)lv_port_indev_init()

文件lv_port_indev.c文件中的lv_port_indev_init()函數(shù)非常關(guān)鍵,從它注冊(cè)輸入設(shè)備到LVGL。它支持的輸入設(shè)備有多種類型:

最常見(jiàn)的是觸摸屏LV_INDEV_TYPE_POINTER

鼠標(biāo),對(duì)應(yīng)LV_INDEV_TYPE_MOUSE

鍵盤(pán),對(duì)應(yīng)LV_INDEV_TYPE_KEYPAD

編碼器,對(duì)應(yīng)LV_INDEV_TYPE_ENCODER

按鍵,對(duì)應(yīng)LV_INDEV_TYPE_BUTTON

這里只需要關(guān)注觸摸屏,其他的全部用#if 0括起來(lái)。

最終lv_port_indev_init()函數(shù)簡(jiǎn)化如下:

voidlv_port_indev_init(void)
{
 staticlv_indev_drv_t indev_drv;


 /*------------------
  * Touchpad
  * -----------------*/


 /*Initialize your touchpad if you have*/
 touchpad_init();


 /*Register a touchpad input device*/
 lv_indev_drv_init(&indev_drv);
  indev_drv.type=LV_INDEV_TYPE_POINTER;
  indev_drv.read_cb= touchpad_read;
  indev_touchpad =lv_indev_drv_register(&indev_drv);
}

從這個(gè)代碼片段看出,我們只需要實(shí)現(xiàn)touchpad_init()和touchpad_read()函數(shù)即可。

04touchpad_init()

這個(gè)函數(shù)的實(shí)現(xiàn)非常簡(jiǎn)單,調(diào)用我們之間寫(xiě)好的觸摸屏初始化函數(shù)TP_Init()即可。

staticvoidtouchpad_init(void)
{
 /*Your code comes here*/
 //NOTE:觸摸屏已經(jīng)在別的地方初始化了
 TP_Init();
}

05touchpad_read()

這個(gè)函數(shù)是LVGL提供的模版函數(shù),我們不用做什么改動(dòng),只需要實(shí)現(xiàn)其中的touchpad_is_pressed()和touchpad_get_xy()即可。

從下面代碼可以看出,touchpad_is_pressed()只需要調(diào)用TP_Scan(),如果有觸摸則發(fā)回非0值即可,如果沒(méi)有觸摸則返回0,最終touchpad_is_pressed()返回邏輯值。

而touchpad_get_xy()更簡(jiǎn)單,直接調(diào)用TP_Get_XY()返回最近一次觸摸的坐標(biāo)即可。

/*Will be called by the library to read the touchpad*/
staticvoidtouchpad_read(lv_indev_drv_t* indev_drv,lv_indev_data_t* data)
{
staticlv_coord_tlast_x =0;
 staticlv_coord_tlast_y =0;


 /*Save the pressed coordinates and the state*/
 if(touchpad_is_pressed()) {
   touchpad_get_xy(&last_x, &last_y);
    data->state =LV_INDEV_STATE_PR;
  }
 else{
    data->state =LV_INDEV_STATE_REL;
  }


 /*Set the last pressed coordinates*/
  data->point.x = last_x;
  data->point.y = last_y;
}


/*Return true is the touchpad is pressed*/
staticbooltouchpad_is_pressed(void)
{
/*Your code comes here*/
//TODO:從這里開(kāi)始一次掃描,獲取觸摸屏狀態(tài)
if(TP_Scan()) {
  returntrue;
 }


 returnfalse;
}


/*Get the x and y coordinates if the touchpad is pressed*/
staticvoidtouchpad_get_xy(lv_coord_t* x,lv_coord_t* y)
{
 /*Your code comes here*/
TP_Get_XY((uint16_t*)x, (uint16_t*)y);
}

演示

運(yùn)行LVGL幾個(gè)示例程序,比之前的屏幕模組廠商的示例程序絲滑多了。主要是LVGL刷屏采用了DMA,比逐個(gè)打點(diǎn)方式快多了。

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

    關(guān)注

    14

    文章

    6075

    瀏覽量

    141429
  • 觸摸屏
    +關(guān)注

    關(guān)注

    42

    文章

    2452

    瀏覽量

    121419
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    410

    瀏覽量

    29284
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4413

    瀏覽量

    67196
  • LVGL
    +關(guān)注

    關(guān)注

    2

    文章

    119

    瀏覽量

    4378

原文標(biāo)題:用戶測(cè)評(píng)(八):LVGL移植觸摸屏

文章出處:【微信號(hào):AvnetAsia,微信公眾號(hào):安富利】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用FRDM-MCXN947開(kāi)發(fā)板移植LVGL跑benchmark

    在彈出的組件選擇框中查找或者輸入lvgl并勾選,導(dǎo)入LVGL組件,如下圖所示。
    的頭像 發(fā)表于 06-20 10:34 ?1817次閱讀
    使用<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXN947</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>移植</b><b class='flag-5'>LVGL</b>跑benchmark

    使用FRDM-MCXN947開(kāi)發(fā)板移植觸摸屏

    觸摸屏信號(hào)包含通信信號(hào)和復(fù)位信號(hào)。這里4個(gè)管腳全部配置為GPIO,用GPIO模擬IIC。
    的頭像 發(fā)表于 08-13 17:02 ?5100次閱讀
    使用<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXN947</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>移植</b><b class='flag-5'>觸摸屏</b>

    TFT適配LVGL實(shí)踐分享

    1前言說(shuō)明本章通過(guò)FRDM-MCXN947開(kāi)發(fā)板與正點(diǎn)原子的TFTLCD進(jìn)行實(shí)踐1.2模塊介紹硬件:FRDM-MCXN947開(kāi)發(fā)板:該開(kāi)發(fā)板
    的頭像 發(fā)表于 09-04 08:06 ?2833次閱讀
    TFT適配<b class='flag-5'>LVGL</b>實(shí)踐分享

    MCX N23的官方評(píng)估FRDM-MCXN236詳解

    ,想必大家早已有所耳聞,NXP為以前的Kinetis系列以及最新的MCX系列都推出了FRDM板子,比如MCX系列的FRDM-MCXN947, FRDM-MCXA153,今天為大家介紹
    的頭像 發(fā)表于 11-14 09:43 ?2525次閱讀
    <b class='flag-5'>恩</b>智<b class='flag-5'>浦</b>MCX N23的官方評(píng)估<b class='flag-5'>板</b><b class='flag-5'>FRDM-MCXN</b>236詳解

    FRDM-MCXN947開(kāi)發(fā)板部署DeepSeek大語(yǔ)言模型

    還在羨慕那些動(dòng)輒幾十GB顯存的AI大佬?今天,我們用一塊小小的FRDM-MCXN947開(kāi)發(fā)板,就能讓你體驗(yàn)到與大語(yǔ)言模型暢聊的快感!誰(shuí)說(shuō)嵌入式設(shè)備只能閃爍LED?今天我們就要讓它"口吐蓮花"!
    的頭像 發(fā)表于 04-10 17:23 ?3359次閱讀
    在<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXN947</b><b class='flag-5'>開(kāi)發(fā)板</b>部署DeepSeek大語(yǔ)言模型

    FRDM-MCXN947的純Linux命令行環(huán)境搭建

    10000-commandfile /mnt/MyNAS/walker/work/rt-thread/bsp/nxp/mcx/mcxn/frdm-mcxn947/flash.jlink\' 編寫(xiě)flash.jlink燒錄文件
    發(fā)表于 07-28 22:55

    關(guān)于將Flash寫(xiě)入FRDM-MCXN947的問(wèn)題求解

    這次我想問(wèn)一個(gè)關(guān)于使用 MCXN947 將 Flash 寫(xiě)入另一個(gè)的問(wèn)題。 我嘗試使用 FRDM-MCXN947 的寫(xiě)入方法作為參考寫(xiě)入此,但發(fā)生了錯(cuò)誤。 下面是當(dāng)時(shí)控制臺(tái)的內(nèi)容。
    發(fā)表于 03-17 06:29

    FRDM-MCXN947在初始化lpI2C時(shí), I2C無(wú)法正常工作怎么解決?

    我正在使用 FRDM-MCXN947 開(kāi)發(fā)板,發(fā)現(xiàn)在初始化 lpI2C 時(shí), I2C 無(wú)法正常工作。我的配置如圖所示。 我使用的配置基于演示。您能幫我檢查一下問(wèn)題可能是什么嗎?謝謝。
    發(fā)表于 03-25 06:32

    富昌電子推薦兩款的MCX A和MCX N系列微控制器

    富昌電子為您推薦的 MCX A 和 MCX N 系列微控制器開(kāi)發(fā)板 FRDM-MCXA153 和 FRDM-MCXN947,幫助您快速
    的頭像 發(fā)表于 05-09 16:44 ?2135次閱讀

    FRDM-MCXN947開(kāi)發(fā)實(shí)踐指南》上線啦

    RT-Thread率先支持NXPFRDM-MCXN947,并聯(lián)合半導(dǎo)體推出了NXPFRDM-MCXN947開(kāi)發(fā)板評(píng)測(cè)活動(dòng)。測(cè)評(píng)活動(dòng)順利
    的頭像 發(fā)表于 05-13 18:19 ?3973次閱讀
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM-MCXN947</b><b class='flag-5'>開(kāi)發(fā)</b>實(shí)踐指南》上線啦

    使用VSCode調(diào)試FRDM MCXN947開(kāi)發(fā)板

    想必關(guān)注MCXN947系列MCU的朋友們已經(jīng)知道板載MCXN947FRDM開(kāi)發(fā)板已經(jīng)正式和大家見(jiàn)面了。
    的頭像 發(fā)表于 05-16 11:16 ?1898次閱讀
    使用VSCode調(diào)試<b class='flag-5'>FRDM</b> <b class='flag-5'>MCXN947</b><b class='flag-5'>開(kāi)發(fā)板</b>

    基于Label CIFAR10 image on FRDM-MCXN947例程實(shí)現(xiàn)鞋和帽子的識(shí)別

    前言 ? ? FRDM-MCXN947 ”評(píng)測(cè)活動(dòng)由安富利和與非網(wǎng)協(xié)同舉辦。本篇內(nèi)容由與非網(wǎng)用戶發(fā)布,已授權(quán)轉(zhuǎn)載許可。原文可在與非網(wǎng)(eefocus)工程師社區(qū)查看。 PART 0 1
    的頭像 發(fā)表于 01-13 09:18 ?1293次閱讀
    基于Label CIFAR10 image on <b class='flag-5'>FRDM-MCXN947</b>例程實(shí)現(xiàn)鞋和帽子的識(shí)別

    使用NXP MCX-N板卡搭建環(huán)境及點(diǎn)燈

    FRDM-MCXN947開(kāi)發(fā)板是一個(gè)基于MCXN947器件的低成本設(shè)計(jì)的評(píng)估。MCXN947器件將兩個(gè)Arm Cortex-M33微控制
    的頭像 發(fā)表于 02-12 09:07 ?1853次閱讀
    使用NXP MCX-N板卡搭建環(huán)境及點(diǎn)燈

    FRDM-MCXA156開(kāi)發(fā)實(shí)踐指南》上線啦

    ,完成了電子書(shū)《FRDM-MCXA156開(kāi)發(fā)實(shí)踐指南》,希望能夠給大家提供一些支持。《
    的頭像 發(fā)表于 04-06 10:51 ?3157次閱讀
    《<b class='flag-5'>恩</b>智<b class='flag-5'>浦</b><b class='flag-5'>FRDM</b>-MCXA156<b class='flag-5'>開(kāi)發(fā)</b>實(shí)踐指南》上線啦

    探索NXP FRDM - MCXN947開(kāi)發(fā)板:快速上手指南

    探索NXP FRDM - MCXN947開(kāi)發(fā)板:快速上手指南 在當(dāng)今電子技術(shù)飛速發(fā)展的時(shí)代,一款性能優(yōu)越、易于上手的開(kāi)發(fā)板對(duì)于電子工程師來(lái)說(shuō)至關(guān)重要。NXP的
    的頭像 發(fā)表于 12-24 15:00 ?281次閱讀