Linux驅(qū)動(dòng)學(xué)習(xí)筆記之觸摸屏驅(qū)動(dòng)
?
觸摸屏歸納為輸入子系統(tǒng),這里主要是針對(duì)電阻屏,其使用過(guò)程如下
當(dāng)用觸摸筆按下時(shí),產(chǎn)生中斷。
在中斷處理函數(shù)處理函數(shù)中啟動(dòng)ADC轉(zhuǎn)換x,y坐標(biāo)。
ADC結(jié)束,產(chǎn)生ADC中斷
在ADC中斷處理函數(shù)里上報(bào)(input_event)啟動(dòng)定時(shí)器
再次啟動(dòng)定時(shí)器(可以處理滑動(dòng)、長(zhǎng)按)
松開(kāi)按鍵
?
其驅(qū)動(dòng)程序的寫法和之前寫輸入子系統(tǒng)的寫法基本上一致。
寫出入口函數(shù),出口函數(shù)并加以修飾,加入相關(guān)頭文件,然后開(kāi)始完善各函數(shù),在入口函數(shù)中分配input_dev結(jié)構(gòu)體,設(shè)置(能產(chǎn)生哪類事件,能產(chǎn)生這類事件中的哪些事件),注冊(cè)設(shè)備,硬件相關(guān)的操作等。出口函數(shù)中主要對(duì)之前注冊(cè)、分配的一些資源進(jìn)行釋放。
還應(yīng)根據(jù)2440數(shù)據(jù)手冊(cè)ADC轉(zhuǎn)換和觸摸屏那一章,對(duì)相關(guān)寄存器根據(jù)實(shí)際需要進(jìn)行設(shè)置。
?
點(diǎn)擊(此處)折疊或打開(kāi)
?
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
struct s3c_ts_regs { ? ? ? ? ? ? ? ? ? ? /* 相關(guān)的寄存器 */
? ? unsigned long adccon;
? ? unsigned long adctsc;
? ? unsigned long adcdly;
? ? unsigned long adcdat0;
? ? unsigned long adcdat1;
? ? unsigned long adcupdn;
};
static struct input_dev *s3c_ts_dev;
static volatile struct s3c_ts_regs *s3c_ts_regs;
static struct timer_list ts_timer;
void enter_wait_pen_down_mode(void) ?/* 進(jìn)入等待觸摸筆按下模式 */
{
? ? s3c_ts_regs->adctsc = 0xd3; ? ? ?/* 進(jìn)入等待中斷模式 bit[8]為0 2440手冊(cè)P442 */
}
void enter_wait_pen_up_mode(void) ? ? ? /* 進(jìn)入等待觸摸筆松開(kāi)模式 */
{
? ? s3c_ts_regs->adctsc = 0x1d3; ? ? ? ?/* 進(jìn)入等待中斷模式 bit[8]為1 2440手冊(cè)P442 */
}
static void enter_measure_xy_mode(void) /* 進(jìn)入xy測(cè)量模式 */
{
? ? s3c_ts_regs->adctsc = (1<<3) | (1<<2);
}
static void start_adc(void)
{
? ? s3c_ts_regs->adccon |= (1<<0); ? ? ? /* 啟動(dòng)ADC */
}
static int s3c_filter_ts(int x[, int y[) ? ? ?/* 軟件過(guò)濾 */
{
#define ERR_LIMIT 10 ? ? ?/* 經(jīng)驗(yàn)值,容差值 */
? ? int avr_x, avr_y;
? ? int det_x, det_y;
? ? avr_x = (x[0 + x[1)/2;
? ? avr_y = (y[0 + y[1)/2;
? ? det_x = (x[2 > avr_x) ? (x[2 - avr_x) : (avr_x - x[2);
? ? det_y = (y[2 > avr_y) ? (y[2 - avr_y) : (avr_y - y[2);
? ? if ((det_x > ERR_LIMIT) || (det_y > ERR_LIMIT))
? ? ? ? return 0;
? ? avr_x = (x[1 + x[2)/2;
? ? avr_y = (y[1 + y[2)/2;
? ? det_x = (x[3 > avr_x) ? (x[3 - avr_x) : (avr_x - x[3);
? ? det_y = (y[3 > avr_y) ? (y[3 - avr_y) : (avr_y - y[3);
? ? if ((det_x > ERR_LIMIT) || (det_y > ERR_LIMIT))
? ? ? ? return 1;
}
static void s3c_ts_timer_functions(unsigned long data)
{
? ? if (s3c_ts->adcdat0 & (1<<15)) ? /* 假設(shè)時(shí)間到 */
? ? {
? ? ? ? /* 如果觸摸已經(jīng)松開(kāi) */
? ? ? ? input_report_abs(s3c_ts_dev, ABS_PRESSURE, 0); ? /* 上報(bào)事件,壓力值為0 */
? ? ? ? input_report_key(s3c_ts_dev, BTN_TOUCH, 0);
? ? ? ? input_sync(s3c_ts_dev); ? ?/* 上報(bào)完后要同步 */
? ? ? ? enter_wait_pen_down_mode(); ?/* 進(jìn)入觸摸等待模式 */
? ? }
? ? else
? ? {
? ? ? ? /* 否則測(cè)量x,y坐標(biāo) */
? ? ? ? enter_measure_xy_mode();
? ? ? ? start_adc();
? ? }
}
static irqreturn_t pen_down_up_irq(int irq, void *dev id)
{
? ? if (s3c_ts->adcdat0 & (1<<15)) ? /* 2440手冊(cè)P447 ADCDAT0寄存器 */
? ? {
? ? ? ? printk("pen up\n");
? ? ? ? enter_wait_pen_down_mode();
? ? }
? ? else
? ? {
? ? ? ? //printk("pen down\n");
? ? ? ? //enter_wait_pen_up_mode();
? ? ? ? enter_measure_xy_mode();
? ? ? ? start_adc();
? ? }
? ? return IRQ_HANDLED;
}
static irqreturn_t adc_irq(int irq, void *dev id)
{
? ? static int cnt = 0;
? ? static int x[4, y[4;
? ? int adcdat0, adcdat1;
? ? /* 優(yōu)化措施2
? ? ?* 如果ACD完成時(shí),發(fā)現(xiàn)觸摸筆已松開(kāi),則丟棄此次結(jié)果
? ? ?*/
? ? adcdat0 = s3c_ts_regs->adcdat0;
? ? adcdat1 = s3c_ts_regs->adcdat1;
? ? if (s3c_ts->adcdat0 & (1<<15)) ? ? /* bit[15判斷是否松開(kāi) */
? ? {
? ? ? ? /* 如果已經(jīng)松開(kāi)則丟棄結(jié)果 */
? ? ? ? cnt = 0;
? ? ? ? input_report_abs(s3c_ts_dev, ABS_PRESSURE, 0); ? /* 上報(bào)事件,壓力值為0 */
? ? ? ? input_report_key(s3c_ts_dev, BTN_TOUCH, 0);
? ? ? ? input_sync(s3c_ts_dev);
? ? ? ? enter_wait_pen_up_mode();
? ? }
? ? else
? ? {
? ? ? ? /* 如果還是按下,則打印結(jié)果并進(jìn)入等待松開(kāi)模式 */
? ? ? ? //printk("adc_irq cnt = %d,x = %d, y = %d\n", ++cnt, adcdat0 & 0x3ff, adcdat1 & 0x3ff);
? ? ? ? /* 優(yōu)化措施3:
? ? ? ? ?* 多次測(cè)量取平均值
? ? ? ? ?*/
? ? ? ? x[cnt = adcdat0 & 0x3ff; ? ?/* 將測(cè)量結(jié)果存入靜態(tài)變量中 */
? ? ? ? y[cnt = adcdat1 & 0x3ff;
? ? ? ? ++cnt;
? ? ? ? if (cnt == 4)
? ? ? ? {
? ? ? ? ? ? /* 優(yōu)化措施4
? ? ? ? ? ? ?* 軟件過(guò)濾
? ? ? ? ? ? ?*/
? ? ? ? ? ? ?if (s3c_filter_ts(x, y))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //printk("x = %d, y = %d\n", (x[0+x[1+x[2+x[3)/4, (y[0+y[1+y[2+y[3)/4);
? ? ? ? ? ? ? ? input_report_abs(s3c_ts_dev, ABS_X, (x[0+x[1+x[2+x[3)/4);
? ? ? ? ? ? ? ? input_report_abs(s3c_ts_dev, ABS_Y, (y[0+y[1+y[2+y[3)/4);
? ? ? ? ? ? ? ? input_report_abs(s3c_ts_dev, ABS_PRESSURE, 1);
? ? ? ? ? ? ? ? input_report_key(s3c_ts_dev, BTN_TOUCH, 1);
? ? ? ? ? ? ? ? input_sync(s3c_ts_dev);
? ? ? ? ? ? }
? ? ? ? ? ? cnt = 0; ? ?/* cnt計(jì)數(shù)清0 */
? ? ? ? ? ? enter_wait_pen_up_mode(); ? ? ? /* 測(cè)量完后要進(jìn)入等待松開(kāi)模式,這樣才能連續(xù)操作 */
? ? ? ? ? ? /* 啟動(dòng)定時(shí)器處理長(zhǎng)按/滑動(dòng)的情況 */
? ? ? ? ? ? mod_timer(&ts_timer, jiffies + HZ/100); ?/* 1HZ/100 = 10ms */
? ? ? ? }
? ? ? ? else ? ?/* 否則再測(cè)量一次 */
? ? ? ? {
? ? ? ? ? ? enter_measure_xy_mode();
? ? ? ? ? ? start_adc();
? ? ? ? }
? ? }
? ? ? ? return IRQ_HANDLED;
}
static int s3c_ts_init(void)
{
? ? struct clk* clk;
? ? /* 1.分配一個(gè)input_dev結(jié)構(gòu)體 */
? ? s3c_ts_dev = input_allocate_device();
? ? /* 2.設(shè)置 */
? ? /* 2.1 能產(chǎn)生哪類事件 */
? ? set_bit(EV_KEY, s3c_ts_dev->evbit); ?/* 能夠產(chǎn)生按鍵事件 */
? ? set_bit(EV_ABS, s3c_ts_dev->evbit); ?/* 能夠產(chǎn)生絕對(duì)位移事件 */
? ? /* 2.2 能產(chǎn)生這類事件里的哪些事件 */
? ? set_bit(BTN_TOUCH, s3c_ts_dev->evbit); /* 能夠產(chǎn)生按鍵類里面的觸摸屏事件 */
? ? input_set_abs_params(s3c_ts_dev, ABS_X, 0, 0x3FF, 0, 0); ? /* X方向 0xFF是因?yàn)橛|摸屏ADC是10位 */
? ? input_set_abs_params(s3c_ts_dev, ABS_Y, 0, 0x3FF, 0, 0); ? /* Y方向 */
? ? input_set_abs_params(s3c_ts_dev, ABS_PRESSURE, 0, 1, 0, 0);/* 壓力方向 */
? ? /* 3.注冊(cè) */
? ? input_register_device(s3c_ts_dev);
? ? /* 4.硬件相關(guān)的操作 */
? ? /* 4.1 使能時(shí)鐘CLKCON[15 (總開(kāi)關(guān),一般對(duì)不用的設(shè)備,時(shí)鐘一般是關(guān)閉的) */
? ? clk = clk_get(NULL, "adc");
? ? clk_enable(clk);
? ? /* 4.2 設(shè)置S3c2440的ADC/TS寄存器 */
? ? s3c_ts_regs = ioremap(0x58000000, sizeof(struct s3c_ts_regs));
? ? /* ADCCON
? ? ?* bit[14 ? : 1 預(yù)分頻使能
? ? ?* bit[13:6 : ? 預(yù)分頻系數(shù)
? ? ?* ? ? ? ? ? ? ? 49 ,ADCCLK = PCLK/(49+1) = 50MHz/(49+1)=1MHz
? ? ?* bit[5:3 ?: 多路選擇
? ? ?* bit[2 ? ?: 省電模式選擇
? ? ?* bit[1 ? ?: AD啟動(dòng)方式,通過(guò)讀來(lái)啟動(dòng)
? ? ?* bit[0 ? ?: 啟動(dòng)AD轉(zhuǎn)換,啟動(dòng)后會(huì)自動(dòng)清零
? ? ?*/
? ? s3c_ts_regs->adccon = (1<<14) | (49<<6);
? ? request_irq(IRQ_TC, pen_down_up_irq, IRQF_SAMPLE_RANDOM, "ts_pen", NULL);
? ? request_irq(IRQ_ADC, adc_irq, IRQF_SAMPLE_RANDOM, "adc", NULL);
? ? /* 優(yōu)化措施1
? ? ?* 設(shè)置ADCDLY為最大值,使得電壓穩(wěn)定后再發(fā)出中斷IRQ_TC
? ? ?*/
? ? s3c_ts_regs->adcdly ? = 0xffff;
? ? /* 優(yōu)化措施5
? ? ?* 使用定時(shí)器,用來(lái)解決連按或滑動(dòng)
? ? ?*/
? ? init_timer(&ts_timer);
? ? ts_timer.function = s3c_ts_timer_function;
? ? add_timer(&ts_timer);
? ? enter_wait_pen_down_mode();
? ? return 0;
}
static void s3c_ts_exit(void)
{
? ? free_irq(IRQ_TC, NULL);
? ? free_irq(IRQ_ADC, NULL);
? ? iounmap(s3c_ts_regs);
? ? input_unregister_device(s3c_ts_dev);
? ? input_free_device(s3c_ts_dev);
? ? del_timer(&ts_timer);
}
module_init(s3c_ts_init);
module_exit(s3c_ts_exit);
MODULE_DEscriptION("s3c_ts driver for the s3c2440");
MODULE_LICENSE("GPL");
?
?
?
?
測(cè)試方法主要是檢測(cè)上報(bào)事件是否正常,要想更好的測(cè)試,需要移植ts_lib這方面的資料網(wǎng)上都可以找到。
以tslib-1.4.tar.gz為例
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
?
?
?
?
編譯:
tar x*** tslib-1.4.tar.gz
cd tslib
./autogen.sh?
?
mkdir tmp ? ? ?// 安裝目錄
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=$(pwd)/tmp
make
make install
?
安裝:
cd tmp
cp * -rf /nfsroot ? ?// ?/nfsroot可根據(jù)實(shí)際情況來(lái)定
?
?
使用:
?
先安裝s3c_ts.ko, lcd.ko ? ? // lcd.ko是之前編譯好的LCD驅(qū)動(dòng),如果后面編譯s3c_ts時(shí)改過(guò)配置,直接裝載之前編譯好的lcd.ko可能會(huì)出現(xiàn)段錯(cuò)誤,重新編譯一下lcd驅(qū)動(dòng)就可以了。
?
1.
修改 /etc/ts.conf第1行(去掉#號(hào)和第一個(gè)空格):
# module_raw input
改為:
module_raw input
?
2.
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
?
ts_calibrate
?
ts_test
?
?
?
相關(guān)推薦
ARM下的觸摸屏驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)
介紹了基于飛思卡爾芯片i.MX27 和嵌入式linux 系統(tǒng)下的觸摸屏硬件的連接設(shè)計(jì)和軟件的驅(qū)動(dòng)設(shè)計(jì).
2012-05-02 10:56:54
2604

DWIN觸摸屏的驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)
有些時(shí)候嵌入式系統(tǒng)也需要顯示更為復(fù)雜的圖形,需要更豐富的數(shù)據(jù)展示。為此,我們需要更大,色彩更豐富,帶觸屏的顯示屏,當(dāng)然性價(jià)比更高就最好了。在我們的項(xiàng)目中遇到此類需求,我們有時(shí)會(huì)選擇DWIN觸摸屏。在本篇中,我們就來(lái)設(shè)計(jì)并實(shí)現(xiàn)DWIN觸摸屏的驅(qū)動(dòng)。
2022-12-08 11:19:26
1771


7寸LCD觸摸屏的具體連線方式是什么?
本人小菜鳥一枚,現(xiàn)在學(xué)習(xí)使用DSP驅(qū)動(dòng)7寸LCD電阻觸摸屏,想具體了解一下創(chuàng)龍7寸電阻觸摸屏的轉(zhuǎn)接板的具體連線方式,例如AT070TN83屏幕的L/R 或者U/D引腳接了什么,因?yàn)闆](méi)有引出且沒(méi)有原理圖所以無(wú)法得知,希望有知道的大神能幫忙回復(fù)一下,謝謝
2019-08-16 13:23:45
Linux驅(qū)動(dòng)學(xué)習(xí)筆記之觸摸屏驅(qū)動(dòng)
觸摸屏歸納為輸入子系統(tǒng),這里主要是針對(duì)電阻屏,其使用過(guò)程如下當(dāng)用觸摸筆按下時(shí),產(chǎn)生中斷。在中斷處理函數(shù)處理函數(shù)中啟動(dòng)ADC轉(zhuǎn)換x,y坐標(biāo)。ADC結(jié)束,產(chǎn)生ADC中斷在ADC中斷處理函數(shù)里上報(bào)
2016-09-12 14:56:21
Linux驅(qū)動(dòng)學(xué)習(xí)筆記之觸摸屏驅(qū)動(dòng)
觸摸屏歸納為輸入子系統(tǒng),這里主要是針對(duì)電阻屏,其使用過(guò)程如下當(dāng)用觸摸筆按下時(shí),產(chǎn)生中斷。在中斷處理函數(shù)處理函數(shù)中啟動(dòng)ADC轉(zhuǎn)換x,y坐標(biāo)。ADC結(jié)束,產(chǎn)生ADC中斷在ADC中斷處理函數(shù)里上報(bào)
2019-07-12 16:13:23
Linux驅(qū)動(dòng)學(xué)習(xí)筆記之觸摸屏驅(qū)動(dòng)
轉(zhuǎn)換和觸摸屏那一章,對(duì)相關(guān)寄存器根據(jù)實(shí)際需要進(jìn)行設(shè)置。 點(diǎn)擊(此處)折疊或打開(kāi) #include <linux/errno.h>#include <linux
2016-07-26 15:05:36
Linux下電容觸摸屏的編譯驅(qū)動(dòng)程序和測(cè)試
迅為IMX6ULL開(kāi)發(fā)板Linux下電容觸摸屏實(shí)驗(yàn)-運(yùn)行測(cè)試
2020-12-29 06:00:21
Linux多點(diǎn)觸摸的屏幕驅(qū)動(dòng)怎么實(shí)現(xiàn)?
式電容觸摸屏。本文通過(guò)對(duì)以cypress 7958為代表的I2C總線接口電容式多點(diǎn)觸摸屏的研究,設(shè)計(jì)了針對(duì)Linux操作系統(tǒng)的多點(diǎn)觸摸的屏幕驅(qū)動(dòng),以及不運(yùn)行操作系統(tǒng)前提下的單片機(jī)對(duì)觸摸屏的驅(qū)動(dòng),取得了良好的效果。
2019-11-08 07:49:08
linux觸摸屏輸入設(shè)備,觸摸屏校驗(yàn)方法
本文拋開(kāi)技術(shù)層次上來(lái)說(shuō)說(shuō)LINUX觸摸屏設(shè)備驅(qū)動(dòng)原理
???? 觸摸屏,就是用一塊AD轉(zhuǎn)換芯片來(lái)將屏幕上的觸摸信號(hào)轉(zhuǎn)成數(shù)字信號(hào)。觸摸屏常用的是四線電阻,AD轉(zhuǎn)換芯片
常用的是7843,7846
2019-07-09 08:08:21
觸摸屏不動(dòng)
我把版主的觸摸屏程序稍微改動(dòng)了一下,移植在別的板子上面,觸摸屏就出現(xiàn)問(wèn)題,大家?guī)臀铱纯磫?wèn)題出在哪里?、紅色部分是改動(dòng)和定義的,其他沒(méi)有動(dòng)(MOSI=PB15; MISO=PB14; SCK=PB13
2019-05-07 06:35:19
觸摸屏有哪些類型?
為了操作上的方便,人們用觸摸屏來(lái)代替鼠標(biāo)或鍵盤。工作時(shí),我們必須首先用手指或其它物體觸摸安裝在顯示器前端的觸摸屏,然后系統(tǒng)根據(jù)手指觸摸的圖標(biāo)或菜單位置來(lái)定位選擇信息輸入。觸摸屏由觸摸檢測(cè)部件和觸摸屏
2019-09-04 06:00:14
觸摸屏沒(méi)有反應(yīng)
我向arm9開(kāi)發(fā)板里下載了linux,然后在串口終端里可以通過(guò)命令操作,但是用觸摸筆在觸摸屏上無(wú)法操作,觸摸屏中間有個(gè)箭頭,我拔了USB轉(zhuǎn)串口驅(qū)動(dòng)后,點(diǎn)觸摸屏也不行。我隨后下了個(gè)板子的測(cè)試程序,里面有個(gè)點(diǎn)擊觸摸屏顯示坐標(biāo)的,我測(cè)試了可以顯示坐標(biāo),說(shuō)明觸摸屏沒(méi)有壞。哪位朋友知道問(wèn)題所在?
2013-05-30 20:59:42
觸摸屏的工作原理是什么?
隨著信息查詢技術(shù)的發(fā)展,觸摸屏因具有堅(jiān)固耐用、反應(yīng)速度快、節(jié)省空間、易于交流等優(yōu)點(diǎn),而得到了廣泛應(yīng)用[1]。觸摸屏作為一種新興的電腦輸入設(shè)備,是目前最簡(jiǎn)單、方便的一種人機(jī)交互設(shè)備。
2020-03-09 07:49:31
觸摸屏鐘控cd機(jī),觸摸屏壞了,如何繞過(guò)觸摸屏的開(kāi)關(guān)來(lái)開(kāi)機(jī)?
`某寶上買的,觸摸屏壞了,關(guān)鍵是開(kāi)機(jī)和功能選擇是通過(guò)觸摸屏來(lái)控制的(開(kāi)機(jī)、cd、收音機(jī)、播放、調(diào)臺(tái))。我想廢物利用,放棄觸摸屏、收音機(jī)、cd,只利用這東西的喇叭和功放部分,當(dāng)個(gè)有源多媒體音響?,F(xiàn)在我
2015-10-12 11:50:15
BBB 板子 支持 10.4英寸 觸摸屏,請(qǐng)問(wèn)如果把libinput換成tslib怎么修改?
目前beaglebon + BBB 使用系統(tǒng)自帶的四線觸摸屏驅(qū)動(dòng)可以使用觸摸屏,但是偶爾點(diǎn)擊觸摸屏會(huì)跳轉(zhuǎn)到其他地方,使用的驅(qū)動(dòng)是libinput,如果換成tslib是否怎么修改。是否系統(tǒng)的dts文件修改配置能把改問(wèn)題解決。
2018-08-06 20:45:36
CC3200驅(qū)動(dòng)液晶觸摸屏
大家有沒(méi)有關(guān)于CC3200驅(qū)動(dòng)3.5寸液晶觸摸屏的硬件連接電路和驅(qū)動(dòng)程序的相關(guān)資料?
2016-03-14 13:08:33
FPGA上觸摸屏的使用
想做一個(gè)觸摸屏的彈鋼琴游戲,用的是賽靈思的板子,上面有觸摸屏,該怎么用才能使上面出現(xiàn)黑白鍵?還有就是按下去能動(dòng)態(tài)地顯示,像安卓軟件那樣
2013-05-25 22:19:26
LCD電容觸摸屏,觸摸屏幕時(shí),總是會(huì)有異常坐標(biāo),這是為何?
LCD電容觸摸屏,觸摸屏幕時(shí),總是會(huì)有異常坐標(biāo),這是為何?
2021-07-02 10:58:26
PLC程序和觸摸屏程序遠(yuǎn)程下載及調(diào)試
怎樣去實(shí)現(xiàn)PLC程序和觸摸屏程序遠(yuǎn)程下載?如何對(duì)PLC程序和觸摸屏程序進(jìn)行調(diào)試?
2021-09-26 06:14:12
RK3326移植FT6336U觸摸屏驅(qū)動(dòng)該怎樣去配置呢
RK3326移植FT6336U觸摸屏驅(qū)動(dòng)該怎樣去配置呢?怎樣去修改RK3326移植FT6336U觸摸屏驅(qū)動(dòng)的DTS文件呢?
2022-02-17 07:27:31
STEMWIN是不是只適合觸摸屏LCD?
是不是STEMWIN只適合觸摸屏LCD呢?不適合非觸摸屏LCD呢?還有,我看資料STEMWIN都是用在STM32F429上,其他STM32單片機(jī)可以可以用?高手幫我指點(diǎn)一下,我還沒(méi)開(kāi)始學(xué)習(xí)。時(shí)間緊迫,我先看一下要不要學(xué)習(xí)。
2020-08-13 07:15:15
YOGA710-14isk筆記本的觸摸屏和內(nèi)屏接口如何改造?
和觸摸屏的總成出售,筆者的筆記本只有30針eDP接口和一個(gè)飛線的USB接口,不知可以將聯(lián)想YOGA710-14isk的筆記本的觸摸屏總成的觸摸部分改成U***接口的嗎?又或者聯(lián)想這個(gè)筆記本的觸摸本來(lái)
2020-07-23 04:12:29
emwin的例程為什么一會(huì)兒不動(dòng)觸摸屏,再動(dòng)觸摸屏就沒(méi)反應(yīng)了的原因是什么?
emwin的例程為什么一會(huì)兒不動(dòng)觸摸屏,再動(dòng)觸摸屏就沒(méi)反應(yīng)了。led照常閃爍可按觸摸屏就沒(méi)反應(yīng)了鼠標(biāo)也不動(dòng)了。感覺(jué)是代碼的原因,
2020-08-27 08:02:33
labview 觸摸屏
請(qǐng)問(wèn)各位大神哪里誰(shuí)有l(wèi)abview2014或者2015的觸摸屏模塊,麻煩分享一下,我怎么找不到呢?是不是2013之后就不支持觸摸屏模塊了?
2016-12-14 10:35:49
關(guān)于8寸觸摸屏的問(wèn)題
關(guān)于8寸觸摸屏的問(wèn)題:觸摸屏有30%左右的數(shù)量出現(xiàn)跳屏,就是按下A鍵,顯示的G或者其他內(nèi)容?用過(guò)其他的觸摸屏,沒(méi)有此類現(xiàn)象,更換觸摸屏后出現(xiàn)的,是電容屏。有沒(méi)有大哥給個(gè)解決問(wèn)題的方向多謝!
2020-02-29 14:57:47
關(guān)于觸摸屏的接法
各位大蝦們請(qǐng)問(wèn)下平板觸摸屏是怎么接的啊,現(xiàn)在是用通用的觸摸屏來(lái)接線不知道怎么接,具體情況如下:現(xiàn)在一塊通用的阻屏想接到平板上但不知道怎么接,請(qǐng)教要怎么測(cè)試觸摸板或平板上的接法,再此先謝過(guò)
2013-08-14 10:23:53
關(guān)于TFT觸摸屏驅(qū)動(dòng)芯片的問(wèn)題
我是個(gè)菜鳥,現(xiàn)在項(xiàng)目中用到TFT7寸觸摸屏。我有個(gè)問(wèn)題,不是很明白。 這種屏是不是需要兩種驅(qū)動(dòng)芯片? 一種是驅(qū)動(dòng)屏顯示的芯片,還有一種是驅(qū)動(dòng)屏觸摸的芯片。 我糊里糊涂。如果只買裸屏,肯定要設(shè)計(jì)驅(qū)動(dòng)電路。 如果我剛才那種想法沒(méi)錯(cuò),那么請(qǐng)大神推薦幾款驅(qū)動(dòng)顯示芯片 和觸摸芯片。 懇請(qǐng)大神解惑,謝謝!
2018-10-29 11:21:16
基于Linux操作系統(tǒng)下的觸摸屏設(shè)備驅(qū)動(dòng)是怎樣移植的
基于Linux操作系統(tǒng)下的觸摸屏設(shè)備驅(qū)動(dòng)是怎樣移植的?有哪些移植步驟?
2022-02-28 11:11:29
基于Linux操作系統(tǒng)下的MIPI觸摸屏設(shè)備驅(qū)動(dòng)移植配置過(guò)程是如何實(shí)現(xiàn)的
基于Linux操作系統(tǒng)下的MIPI觸摸屏設(shè)備驅(qū)動(dòng)移植配置過(guò)程是如何實(shí)現(xiàn)的?
2022-02-28 10:10:33
基于ARM+Linux觸摸屏設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)
內(nèi)容簡(jiǎn)述:以三星公司的S5PV210處理器為平臺(tái),介紹linux操作系統(tǒng)下電容觸摸屏的驅(qū)動(dòng)程序的設(shè)計(jì)開(kāi)發(fā)過(guò)程,詳細(xì)闡述觸摸屏設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)過(guò)程,并將設(shè)計(jì)好的驅(qū)動(dòng)程序移植到linux內(nèi)核中。最后
2014-11-08 08:46:23
基于FPGA的電阻觸摸屏接口設(shè)計(jì)
觸摸屏控制電路由四部分組成:進(jìn)行數(shù)據(jù)處理、控制功能的MCU,一個(gè)四線電阻式觸摸屏、電壓控制電路和A/D轉(zhuǎn)換電路。在FPGA上實(shí)現(xiàn)對(duì)觸摸屏電壓控制、信號(hào)采集和坐標(biāo)數(shù)據(jù)分析。
2013-01-17 19:34:07
如何使用Harmony和觸摸屏LCD
大家好,我在使用Harmony和觸摸屏LCD,我試圖使觸摸屏運(yùn)行,但很難使它發(fā)揮作用,有什么資源我可以遵循使用10BIT ADC驅(qū)動(dòng)器的觸摸?我有以下觸摸設(shè)置,驅(qū)動(dòng)器->ADC->
2020-05-05 07:19:17
如何使用STM32F1來(lái)驅(qū)動(dòng)觸摸屏呢
如何使用STM32F1來(lái)驅(qū)動(dòng)觸摸屏呢?STM32是怎樣控制TFTLCD模塊實(shí)現(xiàn)觸摸屏驅(qū)動(dòng)并實(shí)現(xiàn)一個(gè)手寫板呢?
2022-02-23 06:00:39
如何修改ucGUI例程才能支持觸摸屏呢?
原子哥,您提供的開(kāi)發(fā)板上ucGUI例程不能支持觸摸屏,請(qǐng)問(wèn)您現(xiàn)在有支持觸摸屏的ucGUI例程嗎?或者能否提示一下我,如何修改才能支持觸摸屏呢?
2019-11-01 04:35:08
如何做才能開(kāi)啟D1s自帶電阻觸摸屏驅(qū)動(dòng)呢
如何做才能開(kāi)啟D1s自帶電阻觸摸屏驅(qū)動(dòng)呢?修改一行dts代碼真的就可以開(kāi)啟 D1s 自帶電阻觸摸屏驅(qū)動(dòng)嗎?
2021-12-28 07:38:41
如何在Linux下編寫電容觸摸屏驅(qū)動(dòng)
如今觸摸屏的使用越來(lái)越廣泛,從手機(jī)、平板到蜂巢取貨等場(chǎng)合,都是用了觸摸屏,觸摸屏的使用非常便捷高效。在本章就來(lái)學(xué)習(xí)一下如何在 Linux 下編寫電容觸摸屏驅(qū)動(dòng)。
2020-12-29 07:30:03
如何調(diào)試RV1109 Linux觸摸屏GT911驅(qū)動(dòng)?
如何調(diào)試RV1109 Linux觸摸屏GT911驅(qū)動(dòng)?
2022-03-09 06:00:55
如何通過(guò)觸摸屏的觸摸輸入來(lái)改變顯示界面?
大家好,學(xué)習(xí)Stemwin,想尋找1個(gè)實(shí)例:通過(guò)觸摸屏的觸摸輸入來(lái)改變顯示界面,請(qǐng)大家提供一下,謝謝!
2020-08-17 01:44:30
定制觸摸屏的價(jià)格貴嗎?
隨著科技的不斷發(fā)展和創(chuàng)新,觸摸屏已經(jīng)成為人們?nèi)粘I詈凸ぷ髦斜夭豢缮俚囊徊糠?。與此同時(shí),越來(lái)越多的人開(kāi)始了解和使用定制觸摸屏,以滿足不同場(chǎng)合和需求的個(gè)性化需求。那么,定制觸摸屏的價(jià)格究竟如何呢?首先
2023-04-11 11:23:35
尋求觸摸屏開(kāi)發(fā)
尋求觸摸屏開(kāi)發(fā):要求:1. 4.3或者5寸觸摸屏2.ARM或者STM系統(tǒng)3.提供觸摸屏及板,教程4.可以視頻輸入謝謝!
2013-03-17 13:06:54
嵌入式操作系統(tǒng)Nucleus下觸摸屏驅(qū)動(dòng)的開(kāi)發(fā),看完你就懂了
觸摸屏控制電路的硬件結(jié)構(gòu)由那幾部分組成?嵌入式操作系統(tǒng)Nucleus下觸摸屏驅(qū)動(dòng)的開(kāi)發(fā)
2021-04-26 06:20:01
微雪的3.5寸LCD的觸摸屏問(wèn)題
安裝好驅(qū)動(dòng)了,正常點(diǎn)亮顯示桌面了。但是,觸摸屏的方向不對(duì)。。。就是顯示是橫屏的,但是觸摸屏的感應(yīng)位置是豎的,完全沒(méi)法用。。。。難道我買到假的了???
2017-05-25 22:39:21
怎么解決電容式觸摸屏應(yīng)用中的噪聲問(wèn)題?
觸摸屏設(shè)備常見(jiàn)的噪聲來(lái)源如何在電容式觸摸屏應(yīng)用中處理噪聲問(wèn)題
2021-04-07 06:04:10
支持wince7的觸摸屏哪里能夠買到??不需要自己開(kāi)發(fā)驅(qū)動(dòng)的那種
支持wince7的觸摸屏哪里能夠買到??不需要自己開(kāi)發(fā)驅(qū)動(dòng)的那種,如題如題。。。。。。。。
2016-10-13 10:52:58
請(qǐng)問(wèn)觸摸屏靈敏度有點(diǎn)低可以調(diào)嗎?
觸摸屏靈敏度有點(diǎn)低,可以調(diào)嗎?在驅(qū)動(dòng)中調(diào)還是設(shè)備樹(shù)呀,怎么調(diào)?
2022-01-10 06:15:00
請(qǐng)問(wèn)lcd彩屏和觸摸屏有什么區(qū)別?
lcd彩屏和觸摸屏有什么區(qū)別?本人認(rèn)真學(xué)習(xí)一年51單片機(jī)了(原先學(xué)習(xí)plc的),想升級(jí)學(xué)習(xí)STM32。市場(chǎng)上STM32太多了,經(jīng)過(guò)自己再三思考決定買李想的智芯一號(hào)STM32開(kāi)發(fā)板248元,但是他是lcd彩屏而不是觸摸屏,二者有區(qū)別嗎?歡迎高人指點(diǎn)并推薦一下!關(guān)鍵是要有視頻講解詳細(xì)的。
2019-01-11 06:35:11
請(qǐng)問(wèn)stm32可否驅(qū)動(dòng)15寸TFT觸摸屏?
手上有一塊15寸的TFT觸摸屏,不知用stm32如何驅(qū)動(dòng)。
2018-09-17 09:12:59
請(qǐng)問(wèn)為什么beaglebone black 上觸摸屏用不了?
試圖加載觸摸屏的驅(qū)動(dòng)用 http://processors.wiki.ti.com/index.php/AM335x_Touchscreen_Driver's_Guide的方法只是需要加載
2018-06-04 06:20:36
請(qǐng)問(wèn)有觸摸屏51觸摸簡(jiǎn)單菜單程序?
現(xiàn)在在學(xué)觸摸屏,想找下觸摸屏菜單的程序例程來(lái)學(xué)習(xí)下,如果有的話,可以發(fā)到我郵箱761071255@qq.com。感激不盡啊,
2019-02-17 23:07:20
請(qǐng)問(wèn)有STM32觸摸屏驅(qū)動(dòng)tsc2046程序嗎?
請(qǐng)問(wèn)誰(shuí)有STM32觸摸屏驅(qū)動(dòng) tsc2046程序或者用過(guò)的匠人們傳授點(diǎn)經(jīng)驗(yàn)謝謝了
2019-06-03 04:35:14
請(qǐng)問(wèn)神舟1號(hào)配的是什么型號(hào)的2.8寸觸摸屏上的驅(qū)動(dòng)IC?
玩到觸摸屏了,不知道是什么信號(hào)的驅(qū)動(dòng)IC,網(wǎng)上比較多的是ILI9325,不知道神舟的這款是什么型號(hào)?
2019-11-05 22:53:26
誰(shuí)有關(guān)于單片機(jī)驅(qū)動(dòng)2.4寸的觸摸屏資料和視頻?
誰(shuí)有關(guān)于單片機(jī)驅(qū)動(dòng)2.4寸的觸摸屏資料和視頻
2017-02-08 11:17:42
調(diào)試觸摸屏時(shí)觸摸屏一直發(fā)01 03 FF FF FF FF 00 01 73 38硬件環(huán)境是:觸摸屏---MODBUS協(xié)議的單片機(jī)開(kāi)發(fā)板,觸摸屏做主機(jī)
在使用MCGS嵌入式組態(tài)環(huán)境開(kāi)發(fā)TPC7062應(yīng)用時(shí),設(shè)備選用莫迪康ModbusRTU,用串口調(diào)試助手接收觸摸屏發(fā)來(lái)的數(shù)據(jù),觸摸屏一直發(fā)01 03 FF FF FF FF 00 01 73 38
2019-07-13 12:16:32
通過(guò)網(wǎng)口和觸摸屏通訊
wince觸摸屏ip地址是對(duì)的,可以ping通,但是不能通過(guò)網(wǎng)線移植程序到觸摸屏,問(wèn)題出在哪?有做過(guò)的朋友可否說(shuō)一下你的具體步驟。。
2013-02-25 14:35:41
觸摸屏驅(qū)動(dòng)板資料及驅(qū)動(dòng)程序下載
touchkit公司的觸摸屏驅(qū)動(dòng)板資料及驅(qū)動(dòng)程序.
New Feature:1.) Support “constant touch” for Windows 9X/NT4/ME/2000/XP.
2008-09-10 23:47:28
810

電阻式觸摸屏的基本結(jié)構(gòu)和驅(qū)動(dòng)原理
電阻式觸摸屏的基本結(jié)構(gòu)和驅(qū)動(dòng)原理:四線電阻式觸摸屏的結(jié)構(gòu)如上圖,在玻璃或丙烯酸基板上覆蓋有兩層透平,均勻?qū)щ姷腎TO層,分別做為X電極和Y電極,它們之間由均勻排列的
2009-04-10 23:14:33
105

嵌入式Linux觸摸屏在漆包線檢測(cè)系統(tǒng)中的應(yīng)用
本文針對(duì)嵌入式Linux觸摸屏在漆包線檢測(cè)系統(tǒng)中的應(yīng)用,介紹了本系統(tǒng)中觸摸屏的具體接口電路,嵌入式Linux下驅(qū)動(dòng)程序的實(shí)現(xiàn),及與應(yīng)用程序的接口。與傳統(tǒng)的鍵盤輸入方式相比,
2010-07-27 15:47:56
29

基于C8051F020的觸摸屏驅(qū)動(dòng)控制
C8051F020單片機(jī)通過(guò)SPI接口驅(qū)動(dòng)四線電阻式觸摸屏控制器TSC2046,利用中斷方式驅(qū)動(dòng)TSC2046設(shè)計(jì)軟件。介紹了觸摸屏的工作原理、TSC2046工作方式以及典型應(yīng)用電路。
2010-12-14 17:09:32
103

C8051F020觸摸屏驅(qū)動(dòng)控制
C8051F020觸摸屏驅(qū)動(dòng)控制
目前觸摸屏和液晶屏已成為嵌入式計(jì)算機(jī)系統(tǒng)常用的輸入輸出設(shè)備。觸摸屏分為電阻、電容、表面聲波、紅外線掃描和矢量壓力傳感式觸摸屏,
2008-11-11 09:22:28
1519


#硬聲創(chuàng)作季 #Linux 學(xué)Linux-2.25.2 電容觸摸屏幕驅(qū)動(dòng)編寫1-1
Linux電容觸摸屏
水管工發(fā)布于 2022-11-10 18:52:16



#硬聲創(chuàng)作季 #Linux 學(xué)Linux-2.25.2 電容觸摸屏幕驅(qū)動(dòng)編寫1-2
Linux電容觸摸屏
水管工發(fā)布于 2022-11-10 18:52:41



#硬聲創(chuàng)作季 #Linux 學(xué)Linux-2.25.2 電容觸摸屏幕驅(qū)動(dòng)編寫1-3
Linux電容觸摸屏
水管工發(fā)布于 2022-11-10 18:53:04



#硬聲創(chuàng)作季 #Linux 學(xué)Linux-2.25.3 電容觸摸屏幕驅(qū)動(dòng)編寫2-1
Linux電容觸摸屏
水管工發(fā)布于 2022-11-10 18:53:28



#硬聲創(chuàng)作季 #Linux 學(xué)Linux-2.25.3 電容觸摸屏幕驅(qū)動(dòng)編寫2-2
Linux電容觸摸屏
水管工發(fā)布于 2022-11-10 18:53:50



基于MeeGo的電容式觸摸屏驅(qū)動(dòng)設(shè)計(jì)
本文基于Nokia和Intel公司合作開(kāi)發(fā)的開(kāi)源操作系統(tǒng)MeeGo,采用基于內(nèi)核對(duì)象的Linux輸入子系統(tǒng)來(lái)設(shè)計(jì)觸摸屏的驅(qū)動(dòng)。該方案極大地方便了觸摸屏的驅(qū)動(dòng)開(kāi)發(fā),可應(yīng)用在車載娛樂(lè)、上網(wǎng)本、智
2012-05-25 10:55:01
1237


基于有限狀態(tài)機(jī)的Linux多點(diǎn)觸摸屏驅(qū)動(dòng)設(shè)計(jì)劉斌
基于有限狀態(tài)機(jī)的Linux多點(diǎn)觸摸屏驅(qū)動(dòng)設(shè)計(jì)_劉斌
2017-03-15 08:00:00
0

Linux下的觸摸屏驅(qū)動(dòng)
對(duì)于觸摸屏驅(qū)動(dòng),我們主要需要掌握觸摸屏驅(qū)動(dòng)代碼和應(yīng)用層測(cè)試代碼。下面講的是基于Mini2440的觸摸屏驅(qū)動(dòng),現(xiàn)在的驅(qū)動(dòng)我們都將設(shè)備和驅(qū)動(dòng)分離,掛在平臺(tái)設(shè)備總線上,讓設(shè)備和驅(qū)動(dòng)去匹配。
2019-04-26 14:45:46
2163

Android4.2觸摸屏驅(qū)動(dòng)與4.0有哪些不同
本文檔的主要內(nèi)容詳細(xì)介紹的是Android4.2觸摸屏驅(qū)動(dòng)與Android4.0觸摸屏驅(qū)動(dòng)的差別。
2019-07-29 17:36:00
1

基于觸摸屏的LED驅(qū)動(dòng)電路設(shè)計(jì)
系統(tǒng)的總體框圖如圖1 所示。系統(tǒng)可有輸入,輸出,控制三部分組成,當(dāng)觸摸屏被按下觸摸屏芯片讀取觸摸屏上X 軸與Y 軸的值,然后通過(guò)SPI 協(xié)議傳送到控制器,控制器負(fù)責(zé)信號(hào)的處理,把處理完畢的信號(hào)以PWM 方式輸出驅(qū)動(dòng)LED.
2019-06-12 15:40:46
3856


英創(chuàng)信息技術(shù)EM9280 Linux觸摸屏應(yīng)用開(kāi)發(fā)簡(jiǎn)介
提供對(duì)于4線制電阻式觸摸屏的支持,在定制的Linux內(nèi)核中已完全實(shí)現(xiàn)了該觸摸屏的驅(qū)動(dòng)支持。 在EM9280中,觸摸屏作為輸入設(shè)備其設(shè)備文件為:/dev/input/event0。 本文將介紹EM9280 Linux環(huán)境下應(yīng)用程序如何使用觸摸屏設(shè)備。 2、tslib移植 在采用觸摸屏
2020-01-16 09:39:59
1540


基于I2C的嵌入式Linux多點(diǎn)觸摸屏幕驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)
式電容觸摸屏。本文通過(guò)對(duì)以cypress 7958為代表的I2C總線接口電容式多點(diǎn)觸摸屏的研究,設(shè)計(jì)了針對(duì)Linux操作系統(tǒng)的多點(diǎn)觸摸的屏幕驅(qū)動(dòng),以及不運(yùn)行操作系統(tǒng)前提下的單片機(jī)對(duì)觸摸屏的驅(qū)動(dòng),取得了良好的效果。
2019-10-13 09:12:00
1017


基于STM32的觸摸屏學(xué)習(xí)筆記資料下載
電子發(fā)燒友網(wǎng)為你提供基于STM32的觸摸屏學(xué)習(xí)筆記資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
2021-04-24 08:48:08
36

嵌入式Linux驅(qū)動(dòng)筆記--轉(zhuǎn)自風(fēng)箏丶
(四)------USB鍵盤驅(qū)動(dòng)程序嵌入式Linux驅(qū)動(dòng)筆記(五)------學(xué)習(xí)platform設(shè)備驅(qū)動(dòng)嵌入式Linux驅(qū)動(dòng)筆記(六)------淺析input輸入子系統(tǒng)框架嵌入式Linux驅(qū)動(dòng)筆...
2021-11-02 14:06:16
12

STM32F427V系列的觸摸屏驅(qū)動(dòng)
STM32F427V系列的觸摸屏驅(qū)動(dòng)提示:本程序主控為STM32F427VGT6,LCD驅(qū)動(dòng)為ILI9341觸摸驅(qū)動(dòng)為2046文章目錄STM32F427V系列的觸摸屏驅(qū)動(dòng)前言
2021-12-27 19:13:57
11

STM32F1開(kāi)發(fā)指南筆記36----觸摸屏
本章,介紹如何使用STM32F1來(lái)驅(qū)動(dòng)觸摸屏,戰(zhàn)艦STM32F103本身并沒(méi)有觸摸屏控制器,但是它支持觸摸屏,可以通過(guò)外接帶觸摸屏的LCD模塊(比如TFTLCD模塊),來(lái)實(shí)現(xiàn)觸摸屏控制。在本章
2021-12-31 19:36:24
30

Linux驅(qū)動(dòng)開(kāi)發(fā)-編寫FT5X06觸摸屏驅(qū)動(dòng)
這篇文章介紹在Linux下如何編寫FT5X06系列芯片驅(qū)動(dòng),完成觸摸屏的驅(qū)動(dòng)開(kāi)發(fā), FT5X06是一個(gè)系列,當(dāng)前使用的具體型號(hào)是FT5206,它是一個(gè)電容屏的觸摸芯片,內(nèi)置了8位的單片機(jī)(8051內(nèi)核),完成了坐標(biāo)換算等很多處理,在通過(guò)IIC,SPI方式傳遞給外部單片機(jī)。
2022-09-17 15:27:33
4853


評(píng)論