<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                實驗:當觸筆點擊在觸摸屏上時,SecureCRT上顯示觸點的X,Y坐標; 目的:測試電阻觸摸屏驅動程序; 開發板:S3C2440 ~~~ /* *版權所有(C)2015,ZJU * *文件名稱:ts.c *內容摘要:關于觸摸屏的配置 *其它說明:開發板型號: TX2440 * 電阻屏 *當前版本:V1.0 *作 者:Frank *完成日期:2015.12.22 * */ #define ADCCON (*(volatile unsigned int *)0x58000000) //ADC control register #define ADCTSC (*(volatile unsigned int *)0x58000004) //ADC Touch Screen Control Register #define ADCDLY (*(volatile unsigned int *)0x58000008) //ADC Start or interval delay register #define ADCDATA0 (*(volatile unsigned int *)0x5800000C) //ADC conversion data register #define ADCDATA1 (*(volatile unsigned int *)0x58000010) //ADC conversion data register /*interrupt register*/ #define SRCPND (*(volatile unsigned long *)0x4A000000) #define INTMSK (*(volatile unsigned long *)0x4A000008) #define INTPND (*(volatile unsigned long *)0x4A000010) #define INTOFFSET (*(volatile unsigned long *)0x4A000014) #define SUBSRCPND (*(volatile unsigned long *)0x4A000018) #define INTSUBMSK (*(volatile unsigned long *)0x4A00001C) int xdata=0; int ydata=0; /******************************************************************* *函數名稱:Ts_Init() *功能描述:觸摸屏工作初始化 *其他說明:配置ADC為觸摸屏工作模式 *創建日期:2015.12.22 *******************************************************************/ void Ts_Init(void) { /*1、設置AD轉換時鐘*/ ADCCON = (1 << 14) | (49 << 6); //AD轉換頻率=PCLK/(Val + 1),此處設為 1MHz /*2、設置中斷屏蔽位*/ INTMSK = ~(1 << 31); INTSUBMSK = ~(1 << 9); /*3、進入等待中斷的模式*/ ADCTSC = 0xd3; /***清除CPSR寄存器中的第7位I(IRQ disable),因為在start.S中關閉了中斷****/ //這一步的目的是開啟總中斷 __asm__( "mrs r0, cpsr\n" "bic r0, r0, #0x80\n" "msr cpsr_c, r0\n" : : ); } /******************************************************************* *函數名稱:Ts_Handler() *功能描述:觸摸屏中斷處理 *其他說明:按下觸摸屏后的中斷處理 *創建日期:2015.12.22 *******************************************************************/ void Ts_Handler(void) { /*1、啟動XY坐標自動轉換*/ ADCTSC = (1 << 2); ADCCON |= (1 << 0); /*2、等待轉換完成*/ while(!(ADCCON & (1 << 15))); /*3、獲取坐標*/ xdata = ADCDATA0 & 0x3ff; ydata = ADCDATA1 & 0x3ff; /*4、清除按下中斷*/ SUBSRCPND |= (1 << 9); SRCPND = (1 << 31); INTPND = (1 << 31); /*5、進入等待彈起中斷*/ ADCTSC = 0xd3; ADCTSC |= (1 << 8); while(1) { if (SUBSRCPND & (1 << 9)) break; } /*6、清除彈起中斷*/ SUBSRCPND |= (1 << 9); SRCPND = (1 << 31); INTPND = (1 << 31); //對讀取到的X,Y坐標進行處理 printf("X is %d, Y is %d\n", xdata, ydata); printf("\n\r"); /*7、再次進入等待按下中斷的狀態*/ ADCTSC = 0xd3; } ~~~ 中斷處理文件interrupt.c中觸摸屏中斷函數的調用程序: ~~~ /******************************************************************* *函數名稱:handle_int() *功能描述:中斷處理函數 *其他說明: *******************************************************************/ void handle_int() { /*判斷產生中斷的中斷源*/ unsigned long value = *(INTOFFSET); switch (value) { case 31 : Ts_Handler(); //觸摸屏中斷 break; default : break; } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看