国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

【GD32H757Z海棠派開發(fā)板使用手冊(cè)】第十五講 TFT-8080電阻屏屏觸摸實(shí)驗(yàn)

發(fā)布者:EnchantingEyes最新更新時(shí)間:2024-12-13 來源: elecfans關(guān)鍵字:電阻屏 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

15.1實(shí)驗(yàn)內(nèi)容

通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容:

  • LCD觸控原理

  • SPI外設(shè)功能

15.2實(shí)驗(yàn)原理

本實(shí)驗(yàn)介紹通過SPI接口控制8080接口屏的touch功能。

15.3硬件設(shè)計(jì)

8080接口屏touch部分實(shí)現(xiàn)如下圖所示,通過SPI接口進(jìn)行實(shí)現(xiàn)。

wKgZombrfmaAIODWAAGWNleB-os947.png

15.4代碼解析


15.4.1Touch SPI定義


Touch 的SPI定義如下所示:


JSON

//定義TOUCH_SPI

SPI_MASTER_SCK_GPIO_DEF(TOUCH_SPI,B,3,GPIO_AF_5);

SPI_MASTER_MOSI_GPIO_DEF(TOUCH_SPI,B,5,GPIO_AF_5);

SPI_MASTER_MISO_GPIO_DEF(TOUCH_SPI,B,4,GPIO_AF_5);

SPI_MASTER_CS_GPIO_DEF(TOUCH_SPI,A,8);


SPI_TX_DMA_DEF(TOUCH_SPI,SPI0,DMA1,DMA_CH1);

SPI_RX_DMA_DEF(TOUCH_SPI,SPI0,DMA1,DMA_CH0);

SPI_DEF(TOUCH_SPI,SPI0,SPI_MASTER,SPI_DATASIZE_8BIT,SPI_CK_PL_LOW_PH_1EDGE,SPI_PSC_64,SPI_ENDIAN_MSB,MODE_POLL);

15.4.2SPI初始化配置


Touch SPI初始化配置如下所示:


JSON

void bsp_spi_init(typdef_spi_struct *spix)

{

driver_spi_init(spix);

}

15.4.3屏幕touch狀態(tài)獲取函數(shù)


屏幕touch狀態(tài)獲取函數(shù)如下所示,通過該函數(shù)可掃描獲取touch位置。


JSON

Drv_Err bsp_touch_scan(uint16_t *x, uint16_t *y)

{

static uint8_t count=0;

uint16_t touch_ad_x,touch_ad_y = 0;

/* touch pen is active */

if (SET == bsp_touch_pen_irq())

{

if(++count>=20 || lcd_touch_panel_struct.TOUCH_State==1)

{

lcd_touch_panel_struct.TOUCH_State=1;

if((SUCCESS != bsp_touch_ad_xy_get(&touch_ad_x, &touch_ad_y))){

return DRV_ERROR;

}

// if(invalid_count >= 20){

// return DRV_ERROR;

// }

}else

{

return DRV_ERROR;

}

}else{

count=0;

if(lcd_touch_panel_struct.TOUCH_State==1){

lcd_touch_panel_struct.TOUCH_State=2;

lcd_touch_panel_struct.Touch_x_Last=*x;

lcd_touch_panel_struct.Touch_y_Last=*y;

}

return DRV_ERROR;

}



*x=bsp_touch_coordinate_x_get(touch_ad_x);

*y=bsp_touch_coordinate_y_get(touch_ad_y);

if(count==20)

{

lcd_touch_panel_struct.TOUCH_State=1;

lcd_touch_panel_struct.Touch_x_First=*x;

lcd_touch_panel_struct.Touch_y_First=*y;

}

lcd_touch_panel_struct.Touch_x_Now=*x;

lcd_touch_panel_struct.Touch_y_Now=*y;


return DRV_SUCCESS;

}

15.4.4主函數(shù)


本例程主函數(shù)如下所示,在本例程中,8080液晶屏上顯示4個(gè)LED圖標(biāo),通過觸控點(diǎn)到哪個(gè)LED,MCU檢測(cè)到后打開對(duì)應(yīng)的LED燈。


JSON

int main(void)

{

uint16_t num[4]={0,0,0,0}; /* store the touch point number on four buttons */

uint8_t count=0;

char* led_string[4]={'LED1','LED2','LED3','LED4'} ;

uint8_t button_id=0;


driver_init(); /* 延時(shí)和公共驅(qū)動(dòng)部分初始化 */

bsp_8080_lcd_init(); /* 初始化LCD */

bsp_led_group_init();


//初始化SPI

bsp_spi_init(&TOUCH_SPI);


/* configure the GPIO of SPI touch panel */

bsp_touch_panel_init(bsp_8080_lcd_parameter.width,bsp_8080_lcd_parameter.height);


delay_ms(50);


/* clear the LCD screen */

bsp_8080_lcd_clear(WHITE);


bsp_8080_lcd_show_log();



bsp_8080_lcd_show_string(a1+30, b1+80,bsp_8080_lcd_parameter.width,FONT_ASCII_24_12,FONT_ASCII_24_12,led_string[0],BLUE);

/* draw picture of button on LCD screen */

bsp_8080_lcd_color_fill(a1+30,b1+40,a1+30+40-1,b1+40+40-1,(uint16_t *)(image_off + BMP_HEADSIZE));


bsp_8080_lcd_show_string(a2+30, b1+80,bsp_8080_lcd_parameter.width,FONT_ASCII_24_12,FONT_ASCII_24_12,led_string[1],BLUE);

bsp_8080_lcd_color_fill(a2+30,b1+40,a2+30+40-1,b1+40+40-1,(uint16_t *)(image_off + BMP_HEADSIZE));


bsp_8080_lcd_show_string(a1+30, b2+80,bsp_8080_lcd_parameter.width,FONT_ASCII_24_12,FONT_ASCII_24_12,led_string[2],BLUE);

bsp_8080_lcd_color_fill(a1+30,b2+40,a1+30+40-1,b2+40+40-1,(uint16_t *)(image_off + BMP_HEADSIZE));


bsp_8080_lcd_show_string(a2+30, b2+80,bsp_8080_lcd_parameter.width,FONT_ASCII_24_12,FONT_ASCII_24_12,led_string[3],BLUE);

bsp_8080_lcd_color_fill(a2+30,b2+40,a2+30+40-1,b2+40+40-1,(uint16_t *)(image_off + BMP_HEADSIZE));


while(1){

/* get the position of touch on LCD screen */

if(DRV_SUCCESS == bsp_touch_scan(&touch_x,&touch_y)){

count++;

get_touch_area(touch_x,touch_y,num);

}

else

{

count=0;

}

/* generate response to the touch(turn on LED and change picture )*/

if(count==10){

button_id = find_max(num);

turn_on_led(button_id);

change_picture(button_id);

num[0]=num[1]=num[2]=num[3]=0;

count=0;

}

}

}

15.5實(shí)驗(yàn)結(jié)果


將本例程燒錄到海棠派開發(fā)板中,通過手指點(diǎn)擊屏幕上的LED圖標(biāo),可以點(diǎn)亮對(duì)應(yīng)的LED.


關(guān)鍵字:電阻屏 引用地址:【GD32H757Z海棠派開發(fā)板使用手冊(cè)】第十五講 TFT-8080電阻屏屏觸摸實(shí)驗(yàn)

上一篇:【GD32H757Z海棠派開發(fā)板使用手冊(cè)】第七講 FWDG-看門狗實(shí)驗(yàn)
下一篇:【GD32F303紅楓派開發(fā)板使用手冊(cè)】第二十講八 USB-虛擬串口實(shí)驗(yàn)

推薦閱讀最新更新時(shí)間:2025-06-28 16:46

GD32H757Z海棠開發(fā)板使用手冊(cè)】第二講 GPIO-按鍵查詢檢測(cè)實(shí)驗(yàn)
2.1實(shí)驗(yàn)內(nèi)容 通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: GPIO輸入功能原理; 按鍵查詢輸入檢測(cè)原理; 2.2實(shí)驗(yàn)原理 2.2.1GPIO輸入功能原理 GD32H7XX系列MCU GPIO輸入配置結(jié)構(gòu)如下圖所示,輸入可配置上下拉電阻,通過施密特觸發(fā)器后可通過備用功能輸入或者通過輸入狀態(tài)寄存器進(jìn)行讀取。 輸入狀態(tài)寄存器為GPIOx_ISTAT,其狀態(tài)位定義如下圖所示,每個(gè)控制位對(duì)應(yīng)相應(yīng)引腳的輸入電平狀態(tài)。 GPIO引腳輸入電平判斷閾值如下圖所示,當(dāng)輸入電平小于0.3VDD時(shí),可被內(nèi)部有效識(shí)別為低電平;當(dāng)輸入電平大于0.7VDD時(shí),可被內(nèi)部有效識(shí)別為高電平。 2.3硬件設(shè)計(jì) GD32H7海棠派派開發(fā)板具有兩個(gè)按鍵,對(duì)應(yīng)電路圖如
[單片機(jī)]
【<font color='red'>GD32H757Z</font><font color='red'>海棠</font><font color='red'>派</font><font color='red'>開發(fā)板</font>使用手冊(cè)】第二講 GPIO-按鍵查詢檢測(cè)實(shí)驗(yàn)
ADS7846在電阻觸摸設(shè)計(jì)中的應(yīng)用
 1 前言   其實(shí)不管在任何設(shè)計(jì)中,人性化都是非常重要的一環(huán)。信息技術(shù)的發(fā)展,為人們帶來了觸摸屏的福利。由于觸摸屏可以使操作簡(jiǎn)單直觀,因此越來越多的手持產(chǎn)品,公共服務(wù)類設(shè)備采用觸摸屏。觸摸屏有電阻式觸摸屏、電容式觸摸屏、表面聲波式觸摸屏、紅外線觸摸屏等多種。電阻式觸摸屏是目前應(yīng)用比較廣泛的一種,有4線、5線、7線等幾種。   2 電阻式觸摸屏的工作原理   2.1 電阻式觸摸屏結(jié)構(gòu)   典型觸摸屏的工作部分一般由3部分組成,如圖1所示,這一個(gè)電阻式觸摸屏的橫截面,兩層透明的電阻性導(dǎo)體層(玻璃)、兩層導(dǎo)體之間的隔離層(隔離玻璃珠)、以及電阻性涂層。電阻性導(dǎo)體層必須選用阻性材料,如銦錫氧化物(ITO)涂在襯
[工業(yè)控制]
ADS7846在<font color='red'>電阻</font>式<font color='red'>觸摸</font><font color='red'>屏</font>設(shè)計(jì)中的應(yīng)用
電容式電阻觸摸為主流
依照感應(yīng)方式的不同,觸摸屏大致可以分為電阻式、電容式、紅外線式、超音波式四類。其中電阻式與電容式目前的市場(chǎng)前景最被看好,其他技術(shù)短期內(nèi)恐很難趕上。 就技術(shù)原理來看,電阻式觸摸屏只能算是一種“類觸控”技術(shù)。它采用兩層鍍有導(dǎo)電功能的ITO(銦錫氧化物)PET塑料膜,PET本身具有一定的透明度與耐用性,兩片ITO設(shè)有微粒支點(diǎn),使屏幕在未被壓按時(shí)兩層ITO間有一定的空隙,處于未導(dǎo)電的狀態(tài)。當(dāng)操作者以指尖或筆尖壓按屏幕(外層PET膜)時(shí),壓力將使PET膜內(nèi)凹,因變形而使銦錫氧化物導(dǎo)電層接觸導(dǎo)電,再通過偵測(cè)X軸、Y軸電壓變化換算出對(duì)應(yīng)的壓力點(diǎn),完成整個(gè)屏幕的觸按處理機(jī)制。由于此種技術(shù)成本低廉,現(xiàn)已大量應(yīng)用于電子產(chǎn)品之上。目前電阻
[工業(yè)控制]
linux-2.6.32在mini2440開發(fā)板上移植 添加觸摸驅(qū)動(dòng)程序
在內(nèi)核中添加觸摸屏驅(qū)動(dòng)程序 編者:linux2.6.32并沒有帶S3C2440觸摸屏驅(qū)動(dòng)程序,需要自己實(shí)現(xiàn)。而在此的觸摸屏驅(qū)動(dòng)程序時(shí)作為一個(gè)輸入設(shè)備來實(shí)現(xiàn)的。在linux中,對(duì)于輸入設(shè)備而言,內(nèi)核專為其設(shè)計(jì)了輸入子系統(tǒng),由核心層處理公共的工作。因?yàn)閷?duì)于輸入設(shè)備而言,只是中斷、讀鍵值/坐標(biāo)值是與設(shè)備相關(guān)的,其余的如輸入事件的緩沖區(qū)的管理以及字符設(shè)備驅(qū)動(dòng)的file_operations接口則是輸入設(shè)備通用的。所以在此是在輸入子系統(tǒng)的框架下進(jìn)行編寫觸摸屏驅(qū)動(dòng)程序。對(duì)于這個(gè)驅(qū)動(dòng)的移植以及講解,參考了網(wǎng)上的一些文章,一部分摒棄了手冊(cè)。 1 在內(nèi)核中添加觸摸屏驅(qū)動(dòng)程序 Linux-2.6.32.2 內(nèi)核也沒有包含支持S3C2440 的觸摸屏
[單片機(jī)]
Microchip推出面向家用電器市場(chǎng)電容式觸摸控制器系列產(chǎn)品
Microchip推出面向家用電器市場(chǎng)的電容式觸摸屏控制器系列產(chǎn)品,可適應(yīng)惡劣和嘈雜環(huán)境 MXT448UD-HA和MXT640UD-HA充實(shí)了Microchip通過功能安全認(rèn)證的電容式maXTouch?觸摸屏控制器系列,滿足了10英寸以上屏幕的需求 聯(lián)網(wǎng)的家用電器讓用戶和制造商都能通過互聯(lián)網(wǎng)與它們進(jìn)行溝通。例如,廚房烤箱的用戶可在線查找新食譜,制造商可以實(shí)施遠(yuǎn)程診斷或通過空中下載技術(shù)進(jìn)行固件更新。顯示屏和觸摸傳感器對(duì)于在現(xiàn)代電器中實(shí)現(xiàn)這種功能至關(guān)重要。Microchip Technology Inc.(美國(guó)微芯科技公司)今日宣布,其通過IEC/UL 60730 B級(jí)認(rèn)證的觸摸屏控制器系列現(xiàn)已增加兩個(gè)新成員MXT448
[家用電子]
Microchip推出面向家用電器市場(chǎng)電容式<font color='red'>觸摸</font><font color='red'>屏</font>控制器系列產(chǎn)品
STM32系列第26篇--電容觸摸
觸摸屏分類: 電阻式:定位準(zhǔn)確,單點(diǎn)觸摸 電容感應(yīng)式:電容感應(yīng)式:支持多點(diǎn)觸摸,價(jià)格偏貴。工業(yè)應(yīng)用最廣泛 紅外線式:價(jià)格低廉,但其外框易碎,容易產(chǎn)生光干擾,曲面情況下失真 表面聲波式:解決各種缺點(diǎn),但是屏幕表面如果有水滴和塵土?xí)褂|摸屏變的遲鈍 注:觸摸屏本質(zhì)上與液晶是分離的,觸摸屏負(fù)責(zé)的是檢測(cè)觸摸點(diǎn),液晶屏負(fù)責(zé)的是顯示。區(qū)別開來;電容觸摸屏一般都需要一個(gè)驅(qū)動(dòng)IC來檢測(cè)電容觸摸,且一般是通過IIC接口輸出觸摸數(shù)據(jù)的。 常見的驅(qū)動(dòng)IC: GT9147:采用17*10的驅(qū)動(dòng)結(jié)構(gòu)(10個(gè)感應(yīng)通道,17個(gè)驅(qū)動(dòng)通道) OTT2001A:采用13*8的驅(qū)動(dòng)結(jié)構(gòu)(8個(gè)感應(yīng)通道,13個(gè)驅(qū)動(dòng)通道) 注:它們與MCU連接通過4根線:
[單片機(jī)]
STM32系列第26篇--電容<font color='red'>觸摸</font><font color='red'>屏</font>
Atmel maXTouch mXT540S控制器助力小米Mi3 5英寸觸摸
Atmel? 公司近日宣布,Atmel maXTouch mXT540S 控制器助力小米最新推出的 Mi3 智能手機(jī)的5英寸觸摸屏。小米公司是一家在中國(guó)市場(chǎng)異軍突起的領(lǐng)先智能手機(jī)、應(yīng)用和消費(fèi)電子設(shè)備提供商。 小米的全高清 Mi3 智能手機(jī)得到了 Atmel maXTouch mXT540S 的強(qiáng)力支持。它配備一塊具備卓越觸屏性能、極高靈敏度和業(yè)內(nèi)最快響應(yīng)速度的觸摸屏,對(duì)于捕獲手寫和指甲簽名等精確觸屏操作至關(guān)重要。mXT540S 擁有業(yè)內(nèi)領(lǐng)先的信噪比,可抑制售后高噪聲充電器環(huán)境所產(chǎn)生的噪聲,同時(shí)延長(zhǎng)電池續(xù)航時(shí)間。 Atmel 公司觸屏解決方案營(yíng)銷副總裁 Jon Kiachian 表示:“小米不斷使用其暢銷品牌為市場(chǎng)帶來各種現(xiàn)代設(shè)
[單片機(jī)]
基于嵌入式系統(tǒng)中觸摸交互功能模塊設(shè)計(jì)
  1 引 言   嵌入式系統(tǒng)拉近了人與計(jì)算機(jī)的距離,形成一個(gè)人機(jī)和諧的工作與生活環(huán)境。從某一個(gè)角度來看,觸摸屏作為嵌入式計(jì)算機(jī)系統(tǒng)中一體化的輸入輸出設(shè)備,在制造工業(yè)、過程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費(fèi)類產(chǎn)品等方面均得到廣泛應(yīng)用,影響到人類工作與生活的各個(gè)領(lǐng)域并極具應(yīng)用前景,它與嵌入式系統(tǒng)的交互功能的程序設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)的關(guān)鍵。本文描述的這樣的設(shè)計(jì)過程,對(duì)其中的技術(shù)問題給出了詳細(xì)的解釋。功能設(shè)計(jì)基于ARM920T內(nèi)核的S3C2410芯片,以GX開發(fā)板為硬件平臺(tái),是以 Windows CE為操作系統(tǒng)實(shí)現(xiàn)的圖文交互界面模塊。   2 系統(tǒng)交互功能的設(shè)計(jì)   2.1 系統(tǒng)構(gòu)架   通常嵌入式系統(tǒng)
[單片機(jī)]
基于嵌入式系統(tǒng)中<font color='red'>觸摸</font><font color='red'>屏</font>交互功能模塊設(shè)計(jì)
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved