国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

用精準(zhǔn)的PWM輕觸你的絢爛多彩

先楫半導(dǎo)體HPMicro ? 2022-05-26 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1簡(jiǎn)介


本文主要介紹基于HPM6750 EVK Mini板驅(qū)動(dòng)點(diǎn)亮LED三色燈,從而讓用戶能快速熟悉先楫MCU PWM定時(shí)器原理和HPM_SDK Driver API的使用方法。


本文檔中有關(guān)HPM6750 EVK mini板的使用說明可以參考位于SDK軟件包中\(zhòng)Doc目錄下的HPM6750EVKMINI_UG.pdf


本文檔中有關(guān)HPM6750 EVK mini 硬件原理圖,請(qǐng)查閱HPM6750EVKMINI硬件設(shè)計(jì)資料\原理圖\HPM6750EVKMINI Rev.B.pdf。


本文檔中有關(guān)HPM6750 MCU datasheet,請(qǐng)查閱HPM6750_DS.pdf;有關(guān)HPM6750 MCU user manual請(qǐng)查閱HPM6750_UM.pdf


本文將基于HPM SDK中pwm driver api接口抽象封裝針對(duì)LED燈的adapte接口,并通過adapte接口實(shí)現(xiàn)LED三色燈的開關(guān)和呼吸效果。

2 環(huán)境準(zhǔn)備


2.1PWM定時(shí)器原理


查閱HPM6750 MCU user manual文檔中章節(jié):電機(jī)系統(tǒng)->45 PWM定時(shí)器PWM內(nèi)容。

9e866d12-dc59-11ec-b80f-dac502259ad0.png

PWM的框圖

大致介紹:

l 先楫PWM定時(shí)器由4個(gè)模塊組成:定時(shí)器時(shí)間基準(zhǔn)模塊、比較器模塊、輸出通道模塊、PWM輸出控制模塊。


l 定時(shí)器時(shí)間基準(zhǔn)模塊決定PWM定時(shí)器運(yùn)行的時(shí)間和周期。通過讀寫計(jì)數(shù)器、起始寄存器、重載寄存器、計(jì)數(shù)器使能來設(shè)置定時(shí)器時(shí)間基準(zhǔn)模塊。


l PWM生成通過定時(shí)器時(shí)間基準(zhǔn)模塊配合比較器以及輸出通道來生成輸出參考信號(hào)。一個(gè)輸出通道可匹配多個(gè)比較器(注意:匹配多個(gè)比較器必須連續(xù)),當(dāng)計(jì)數(shù)器的值等于比較器的值時(shí),產(chǎn)生匹配事件邏輯1,當(dāng)計(jì)數(shù)器到達(dá)重載數(shù)值時(shí),產(chǎn)生重載事件邏輯0。如果比較器的值和重載值相同,則會(huì)保持邏輯1產(chǎn)生100%占空比輸出,如果比較器的值>重載值,則會(huì)保持邏輯0產(chǎn)生0%占空比輸出。


l 輸出通道輸出的參考信號(hào)經(jīng)過PWM輸出控制模塊處理互補(bǔ)控制、死區(qū)插入、取反控制、強(qiáng)制輸出、故障保護(hù)后,形成輸出信號(hào)到IO口。如果不對(duì)輸出控制模塊操作則透?jìng)鬏敵鐾ǖ绤⒖夹盘?hào)。由于LED RGB三色燈使用不到以上,本文檔不介紹PWM輸出控制模塊。


l 針對(duì)LED 簡(jiǎn)單的PWM波形,只需要一個(gè)比較器即可實(shí)現(xiàn)。波形實(shí)現(xiàn)如圖:

9ed225ea-dc59-11ec-b80f-dac502259ad0.png

波形實(shí)現(xiàn)如圖

PWM頻率:總線時(shí)鐘頻率/重載值。

占空比:比較器值/總步長(zhǎng) * 100。

2.2PWM Driver API梳理

查閱HPM SDK軟件API手冊(cè)中PWM driver APIs章節(jié)。

9f131fe6-dc59-11ec-b80f-dac502259ad0.png

針對(duì)LED 簡(jiǎn)單波形使用到的接口有:

//重載值設(shè)置pwm_set_reload//計(jì)數(shù)器起始值設(shè)置pwm_set_start_count//比較器配置pwm_config_cmp//PWM波形設(shè)置(輸出通道和比較器匹配設(shè)置)pwm_setup_waveform//加載比較器影子寄存器匹配設(shè)置
pwm_load_cmp_shadow_on_match//計(jì)時(shí)器使能計(jì)數(shù)pwm_start_counter//計(jì)數(shù)器禁止計(jì)數(shù)pwm_stop_counter//更新比較器邊沿觸發(fā)值(調(diào)整占空比)pwm_update_raw_cmp_edge_aligned//使能PWM通道輸出pwm_enable_output
//禁止PWM通道輸出pwm_disable_output

2.3確認(rèn)LED 硬件PIN腳


查閱HPM6750 EVK mini 硬件原理圖,確認(rèn)LED三色燈三路PWM通道和管腳,分別為:

RED: PWM0.P7 —— PB20

GREEN: PWM1.P1 —— PB18

BLUE: PWM1.P0 —— PB19

9f853ebe-dc59-11ec-b80f-dac502259ad0.png9fc965e4-dc59-11ec-b80f-dac502259ad0.png

3 接口封裝

3.1PWM初始化

pwm_port_handle_t hpm_pwm_init(PWM_Type* pwm_id, uint32_t pwm_out, uint32_t pwm_cmp, bool init_zero, clock_name_t clock_name){ led_pwm_t *handle = malloc(sizeof(led_pwm_t)); if(NULL == handle) return NULL; memset(handle, 0, sizeof(led_pwm_t)); handle->pwm = pwm_id; handle->reload = 0; handle->step = 0; handle->pwm_irq = 0; handle->pwm_cmp = pwm_cmp; handle->pwm_ch = pwm_out; handle->pwm_cmp_initial_zero = init_zero; handle->bus_freq = clock_get_frequency(clock_name); return (pwm_port_handle_t)handle;}

handle->pwm_irq = 0; handle->pwm_cmp = pwm_cmp; handle->pwm_ch = pwm_out; handle->pwm_cmp_initial_zero = init_zero; handle->bus_freq = clock_get_frequency(clock_name); return (pwm_port_handle_t)handle;

3.2PWM釋放


void hpm_pwm_deinit(pwm_port_handle_t pwm_handle){ led_pwm_t *handle = (led_pwm_t *)pwm_handle; if(NULL == handle) return; pwm_disable_output(handle->pwm, handle->pwm_ch); free(handle); handle = NULL; return;

3.3PWM運(yùn)行


#define PWM_DUTY_STEP_COUNT (100U)/*duty: 0~100%, freq: 100~200000000*/int hpm_pwm_start(pwm_port_handle_t pwm_handle, uint32_t duty, uint32_t freq){ led_pwm_t *handle = (led_pwm_t *)pwm_handle; uint32_t reload, now_cmp; pwm_cmp_config_t cmp_config = {0}; pwm_config_t pwm_config = {0}; if(NULL == handle) { return -1; } if(freq > handle->bus_freq) { return -2; } reload = handle->bus_freq / freq - 1; //start 0 index if(reload == 0) return -2; if(reload != handle->reload || handle->reload == 0) { handle->reload = reload; pwm_stop_counter(handle->pwm); pwm_get_default_pwm_config(handle->pwm, &pwm_config); pwm_get_default_cmp_config(handle->pwm, &cmp_config); pwm_config.enable_output = false; pwm_config.dead_zone_in_half_cycle = 0; pwm_config.invert_output = false; /* * reload and start counter */ pwm_set_reload(handle->pwm, 0, handle->reload); pwm_set_start_count(handle->pwm, 0, 0); cmp_config.mode = pwm_cmp_mode_output_compare; cmp_config.cmp = handle->pwm_cmp_initial_zero ? 0 : handle->reload + 1; cmp_config.update_trigger = pwm_shadow_register_update_on_modify; /* config initial compare value which should take affect immediately */ pwm_config_cmp(handle->pwm, handle->pwm_cmp, &cmp_config); /* * config pwm as output driven by cmp */ if (status_success != pwm_setup_waveform(handle->pwm, handle->pwm_ch, &pwm_config, handle->pwm_cmp, &cmp_config, 1)) { printf("failed to setup waveform\n"); return -3; } pwm_load_cmp_shadow_on_match(handle->pwm, handle->pwm_cmp, &cmp_config); handle->step = (handle->reload + 1)/PWM_DUTY_STEP_COUNT; pwm_update_raw_cmp_edge_aligned(handle->pwm, handle->pwm_cmp, handle->pwm_cmp_initial_zero ? 0 : handle->reload + 1); pwm_start_counter(handle->pwm); } if(duty == 100) { now_cmp = handle->reload + 1; } else { now_cmp = handle->step * PWM_DUTY_STEP_COUNT/100 * duty; } pwm_update_raw_cmp_edge_aligned(handle->pwm, handle->pwm_cmp, now_cmp); pwm_enable_output(handle->pwm, handle->pwm_ch); return 0;

3.4PWM停止


nt hpm_pwm_stop(pwm_port_handle_t pwm_handle){ led_pwm_t *handle = (led_pwm_t *)pwm_handle; if(NULL == handle) return -1; pwm_disable_output(handle->pwm, handle->pwm_ch); return 0;

4 功能實(shí)現(xiàn)

4.1呼吸燈功能


#define LED_PWM_FREQ 200000 //200khz

int sample_breath_lamp(pwm_port_handle_t handle){ if(NULL == handle) { printf("handle is null\n"); return -1; } for(uint32_t i = 0; i <= 100; i++) { hpm_pwm_start(handle, i, LED_PWM_FREQ); board_delay_ms(10); } for(uint32_t i = 100; i > 0; i--) { hpm_pwm_start(handle, i, LED_PWM_FREQ); board_delay_ms(10); } hpm_pwm_stop(handle); return 0;}

4.2LED點(diǎn)亮呼吸


board_init(); board_init_rgb_pwm_pins(); printf("rgb led example\n"); pwm_port_handle_t red_handle = hpm_pwm_init(RED_PWM, RED_PWM_OUT, RED_PWM_CMP, RED_PWM_CMP_INITIAL_ZERO, RED_PWM_CLOCK_NAME); if(red_handle == NULL) { printf("red pwm init fail!\n"); while(1); } pwm_port_handle_t green_handle = hpm_pwm_init(GREEN_PWM, GREEN_PWM_OUT, GREEN_PWM_CMP, GREEN_PWM_CMP_INITIAL_ZERO, GREEN_PWM_CLOCK_NAME); if(green_handle == NULL) { printf("green pwm init fail!\n"); while(1); } pwm_port_handle_t blue_handle = hpm_pwm_init(BLUE_PWM, BLUE_PWM_OUT, BLUE_PWM_CMP, BLUE_PWM_CMP_INITIAL_ZERO, BLUE_PWM_CLOCK_NAME); if(blue_handle == NULL) { printf("blue pwm init fail!\n"); while(1); } //on led and off led hpm_pwm_start(red_handle, 100, LED_PWM_FREQ); board_delay_ms(1000); hpm_pwm_start(red_handle, 0, LED_PWM_FREQ); board_delay_ms(1000); hpm_pwm_start(green_handle, 100, LED_PWM_FREQ); board_delay_ms(1000); hpm_pwm_start(green_handle, 0, LED_PWM_FREQ); board_delay_ms(1000); hpm_pwm_start(blue_handle, 100, LED_PWM_FREQ); board_delay_ms(1000); hpm_pwm_start(blue_handle, 0, LED_PWM_FREQ); board_delay_ms(1000); while(1) { printf("now red breath...\n"); sample_breath_lamp(red_handle); printf("now green breath...\n"); sample_breath_lamp(green_handle); printf("now bule breath...\n"); sample_breath_lamp(blue_handle); } hpm_pwm_deinit(red_handle); hpm_pwm_deinit(green_handle); hpm_pwm_deinit(blue_handle); return 0;}

5 功能測(cè)試

5.1 生成rgb_led工程


工程路徑在HPM_SDK 文件夾:“hpm_sdk\samples\rgb_led

a0185e9c-dc59-11ec-b80f-dac502259ad0.png

根據(jù)SDK 開發(fā)指南文檔《HPM6750EVKMINI_UG》中的工程生成步驟,在rgb_led目錄下來生成segger embedded studio的工程文件。

a0506e5e-dc59-11ec-b80f-dac502259ad0.png

通過雙擊工程文件multcore_core0.emProject可以直接進(jìn)入SES(segger embedded studio) 。

a0cdb080-dc59-11ec-b80f-dac502259ad0.png

雙擊“multcore_core0.emProject”打開該工程,如下圖。

a1182584-dc59-11ec-b80f-dac502259ad0.png

5.2 運(yùn)行rgb_led

運(yùn)行rgb_led例程,可以查看到Mini板三色點(diǎn)亮熄滅以及循環(huán)呼吸效果。

a1677a08-dc59-11ec-b80f-dac502259ad0.pnga1ed3ce2-dc59-11ec-b80f-dac502259ad0.png


5.3PWM波形查看

通過示波器查看rgb pwm波形,確認(rèn)頻率和占空比是否正確。

A.200KHz,50%占空比

實(shí)測(cè):一個(gè)周期5us,波峰2.495us。

a269b42a-dc59-11ec-b80f-dac502259ad0.pnga2cc9dce-dc59-11ec-b80f-dac502259ad0.png

B.200KHz, 20%占空比

實(shí)測(cè):一個(gè)周期5us,波峰:994.7ns,驗(yàn)證通過。

a35c18e6-dc59-11ec-b80f-dac502259ad0.pnga3ef9f58-dc59-11ec-b80f-dac502259ad0.png

C.100KHz, 50%占空比

實(shí)測(cè):一個(gè)周期10us,波峰4.995us,驗(yàn)證通過。

a4735c08-dc59-11ec-b80f-dac502259ad0.pnga4fd6e8e-dc59-11ec-b80f-dac502259ad0.png

D.100KHz, 10%占空比

實(shí)測(cè):一個(gè)周期10us,波峰994.8ns,驗(yàn)證通過。

a5852e00-dc59-11ec-b80f-dac502259ad0.pnga63d43a0-dc59-11ec-b80f-dac502259ad0.png

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

    關(guān)注

    116

    文章

    5872

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    RK平臺(tái)PWM開發(fā)總結(jié)

    脈寬調(diào)制(PWM,Pulse Width Modulation)通過微處理器數(shù)字輸出控制模擬電路,核心是調(diào)整輸出波形的周期(信號(hào)重復(fù)的時(shí)間間隔)和占空比(一個(gè)周期內(nèi)高電平持續(xù)時(shí)間占比),實(shí)現(xiàn)對(duì)電壓、亮度等物理量的精準(zhǔn)調(diào)控,廣泛應(yīng)用于測(cè)量、通信、功率控制等領(lǐng)域。
    的頭像 發(fā)表于 02-04 17:46 ?2511次閱讀
    RK平臺(tái)<b class='flag-5'>PWM</b>開發(fā)總結(jié)

    工業(yè)自動(dòng)化精準(zhǔn)控制:8路PWM模塊(頻率可調(diào)+RS485/CAN隔離通訊)

    PWM 脈沖輸出模塊是基于脈沖寬度調(diào)制技術(shù)的工業(yè)級(jí)信號(hào)發(fā)生設(shè)備,核心功能是生成高頻、可編程、占空比可調(diào)的脈沖信號(hào),通過控制脈沖占空比),實(shí)現(xiàn)對(duì)執(zhí)行器的功率、速度、流量、亮度等物理量的連續(xù)精準(zhǔn)調(diào)節(jié)
    的頭像 發(fā)表于 01-04 16:44 ?378次閱讀

    PWM 控制 LED、蜂鳴器、電機(jī):真的對(duì)了嗎?

    在做嵌入式開發(fā)的時(shí)候,PWM(脈寬調(diào)制)幾乎是必學(xué)技能。LED想要呼吸效果?PWM。蜂鳴器要發(fā)“滴滴”的提示音?PWM。電機(jī)需要調(diào)速?還是PWM。問題是:同樣一個(gè)HAL_TIM_
    的頭像 發(fā)表于 01-04 09:14 ?543次閱讀
    <b class='flag-5'>PWM</b> 控制 LED、蜂鳴器、電機(jī):<b class='flag-5'>你</b>真的<b class='flag-5'>用</b>對(duì)了嗎?

    TE Connectivity ALCOSWITCH輕觸開關(guān)技術(shù)解析與應(yīng)用指南

    TE Connectivity的(TE) Alcoswitch輕觸開關(guān)是設(shè)計(jì)旨在安裝到印刷電路板 (PCB) 上的小型機(jī)電設(shè)備。這些開關(guān)緊湊輕薄,在多位置和超微型型材中提供高可靠性和更長(zhǎng)的生命周期
    的頭像 發(fā)表于 11-06 16:01 ?504次閱讀

    輕觸開關(guān):指尖上的 “魔法鑰匙”,寰立為開啟便捷電子世界

    在電子設(shè)備如繁星般遍布生活的今天,有這樣一種看似不起眼,卻能讓設(shè)備 “聽令于指尖” 的關(guān)鍵元件 —— 輕觸開關(guān)。它如同藏在電子設(shè)備里的 “魔法鑰匙”,輕輕一按,就能觸發(fā)設(shè)備的各種功能,而寰立開關(guān)旗下
    的頭像 發(fā)表于 10-14 11:47 ?804次閱讀
    <b class='flag-5'>輕觸</b>開關(guān):指尖上的 “魔法鑰匙”,寰立為<b class='flag-5'>你</b>開啟便捷電子世界

    一文讀懂 PWM控制背光亮度原理

    (脈沖寬度調(diào)制) 的技術(shù)。本文將用通俗易懂的方式,為揭開PWM調(diào)光的神秘面紗。 一、核心原理:“開關(guān)”代替“旋鈕” 想象一下兩種控制燈泡亮度的方法: 模擬調(diào)光(旋鈕式):像一個(gè)老式的調(diào)光臺(tái)燈,通過
    發(fā)表于 09-03 08:48

    請(qǐng)問怎么HRTIM輸出可變占空比的PWM?

    現(xiàn)在可以輸出單路PWM,但可變占空比的PWM不知道怎么配置。請(qǐng)大佬幫助!
    發(fā)表于 07-25 08:16

    是德示波器如何用數(shù)字通道快速定位PWM故障

    PWM(脈沖寬度調(diào)制)信號(hào)在電機(jī)控制、電源管理、通信協(xié)議等領(lǐng)域廣泛應(yīng)用,其穩(wěn)定性直接影響系統(tǒng)性能。當(dāng)PWM信號(hào)出現(xiàn)異常時(shí),快速定位故障是工程師的關(guān)鍵需求。是德示波器憑借其強(qiáng)大的數(shù)字通道功能和精準(zhǔn)
    的頭像 發(fā)表于 07-08 17:04 ?698次閱讀
    是德示波器如何用數(shù)字通道快速定位<b class='flag-5'>PWM</b>故障

    KSC DCT系列輕觸開關(guān)的主要優(yōu)勢(shì)和應(yīng)用領(lǐng)域

    雙電路技術(shù)是指在一個(gè)輕觸開關(guān)(單刀雙擲,SPDT)內(nèi)部產(chǎn)生兩個(gè)獨(dú)立輸出信號(hào)的功能。請(qǐng)參見下面的SPDT電路。KSC DCT輕觸開關(guān)有一個(gè)共用引腳、一個(gè)常關(guān)(NC)引腳和一個(gè)常開(NO)引腳。如果用戶
    的頭像 發(fā)表于 06-26 14:35 ?1056次閱讀
    KSC DCT系列<b class='flag-5'>輕觸</b>開關(guān)的主要優(yōu)勢(shì)和應(yīng)用領(lǐng)域

    知道船變壓器有哪些嗎?

    在船舶和海洋平臺(tái)上,電力系統(tǒng)的穩(wěn)定運(yùn)行至關(guān)重要,而船變壓器作為其中的關(guān)鍵設(shè)備,其種類繁多,各具特點(diǎn)。知道船變壓器有哪些嗎?讓我們一起來揭開它們的神秘面紗。CSD船變壓器是船舶供
    的頭像 發(fā)表于 06-01 00:00 ?750次閱讀
    <b class='flag-5'>你</b>知道船<b class='flag-5'>用</b>變壓器有哪些嗎?

    輕觸開關(guān)運(yùn)用原理

    GD-TS-10-1RS 一、機(jī)械式輕觸開關(guān) ? ? 核心結(jié)構(gòu)組件 ? ? 金屬?gòu)椘?導(dǎo)電橡膠 ?:受力形變后接觸導(dǎo)電部件,形成通路13。 ? 引腳配置 ?:通常為5引腳(含接地引腳),外力作用
    的頭像 發(fā)表于 05-26 17:14 ?1178次閱讀
    <b class='flag-5'>輕觸</b>開關(guān)運(yùn)用原理

    LED驅(qū)動(dòng)芯片功能單一調(diào)光不精準(zhǔn)怎么解決?找禾潤(rùn)HTR3229支持16×8或15×9陣列的LED驅(qū)動(dòng)

    的 I2C 接口編程,輕松實(shí)現(xiàn)高效控制。每路 LED 配備 8 位 PWM 數(shù)據(jù)獨(dú)立調(diào)光,結(jié)合每路 CSx 的 8 位直流掃描數(shù)據(jù),支持每個(gè)點(diǎn) 256 階線性 PWM 調(diào)光,調(diào)光精準(zhǔn)細(xì)膩,光效隨心掌控
    發(fā)表于 05-22 18:21

    工業(yè)傳感器的“愛情長(zhǎng)跑”:精準(zhǔn)數(shù)據(jù)守護(hù)每一份信任

    520特別策劃屬于工程師的浪漫2025/05/20工業(yè)浪漫精準(zhǔn)數(shù)據(jù)精準(zhǔn)數(shù)據(jù)守護(hù)每一份信任520,這個(gè)以“愛”為名的日子總讓人聯(lián)想到玫瑰、誓言與浪漫但在工業(yè)世界中,有一種“愛”更為深沉——它是傳感器
    的頭像 發(fā)表于 05-20 07:34 ?673次閱讀
    工業(yè)傳感器的“愛情長(zhǎng)跑”:<b class='flag-5'>用</b><b class='flag-5'>精準(zhǔn)</b>數(shù)據(jù)守護(hù)每一份信任

    KSC XA輕觸開關(guān)提供聲音柔和的輕觸反饋,增強(qiáng)用戶體驗(yàn)

    :LFUS)是一家多元化的工業(yè)技術(shù)制造公司,致力于為可持續(xù)發(fā)展、互聯(lián)互通和更安全的世界提供動(dòng)力。公司今日隆重推出? KSC XA 系列柔和聲音輕觸開關(guān) ?,為需要安靜、可靠觸覺反饋的應(yīng)用提供了一項(xiàng)關(guān)鍵解決方案。KSC XA開關(guān)專為表面貼裝技術(shù)(SMT)應(yīng)用而設(shè)計(jì),提供創(chuàng)新的柔和聲音,帶來更
    發(fā)表于 04-23 16:20 ?1071次閱讀
     KSC XA<b class='flag-5'>輕觸</b>開關(guān)提供聲音柔和的<b class='flag-5'>輕觸</b>反饋,增強(qiáng)用戶體驗(yàn)