⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adcts.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 2 页
字号:
000298  e59f1168          LDR      r1,|L1.1032|
00029c  e5810000          STR      r0,[r1,#0]  ; xdata
;;;125                ydata=(rADCDAT1&0x3ff);
0002a0  e3a00458          MOV      r0,#0x58000000
0002a4  e5900010          LDR      r0,[r0,#0x10]
0002a8  e1a00b00          MOV      r0,r0,LSL #22
0002ac  e1a00b20          MOV      r0,r0,LSR #22
0002b0  e59f1154          LDR      r1,|L1.1036|
0002b4  e5810000          STR      r0,[r1,#0]  ; ydata
;;;126    
;;;127    	 //YH 0627, To check Stylus Up Interrupt.
;;;128    	 rSUBSRCPND|=BIT_SUB_TC;
0002b8  e3a0044a          MOV      r0,#0x4a000000
0002bc  e5900018          LDR      r0,[r0,#0x18]
0002c0  e3800f80          ORR      r0,r0,#0x200
0002c4  e3a0144a          MOV      r1,#0x4a000000
0002c8  e5810018          STR      r0,[r1,#0x18]
;;;129    	 ClearPending(BIT_ADC);
0002cc  e3a00480          MOV      r0,#0x80000000
0002d0  e3a0144a          MOV      r1,#0x4a000000
0002d4  e5810000          STR      r0,[r1,#0]
0002d8  e3a00480          MOV      r0,#0x80000000
0002dc  e3a0144a          MOV      r1,#0x4a000000
0002e0  e5810010          STR      r0,[r1,#0x10]
0002e4  e3a0044a          MOV      r0,#0x4a000000
0002e8  e5900010          LDR      r0,[r0,#0x10]
;;;130    	 rINTSUBMSK=~(BIT_SUB_TC);
0002ec  e3e00f80          MVN      r0,#0x200
0002f0  e3a0144a          MOV      r1,#0x4a000000
0002f4  e581001c          STR      r0,[r1,#0x1c]
;;;131    	 rINTMSK=~(BIT_ADC);
0002f8  e3e00480          MVN      r0,#0x80000000
0002fc  e3a0144a          MOV      r1,#0x4a000000
000300  e5810008          STR      r0,[r1,#8]
;;;132    			 
;;;133    	 rADCTSC =0xd3;    //Waiting for interrupt
000304  e3a000d3          MOV      r0,#0xd3
000308  e3a01458          MOV      r1,#0x58000000
00030c  e5810004          STR      r0,[r1,#4]
;;;134    	 rADCTSC=rADCTSC|(1<<8); // Detect stylus up interrupt signal.
000310  e3a00458          MOV      r0,#0x58000000
000314  e5900004          LDR      r0,[r0,#4]
000318  e3800f40          ORR      r0,r0,#0x100
00031c  e3a01458          MOV      r1,#0x58000000
000320  e5810004          STR      r0,[r1,#4]
;;;135    
;;;136    			while(1)		//to check Pen-up state
000324  e1a00000          NOP      
                  |L1.808|
000328  e1a00000          NOP      
;;;137    			{
;;;138    			 if(rSUBSRCPND & (BIT_SUB_TC))	//check if ADC is finished with interrupt bit
00032c  e3a0044a          MOV      r0,#0x4a000000
000330  e5900018          LDR      r0,[r0,#0x18]
000334  e3100f80          TST      r0,#0x200
000338  0a000002          BEQ      |L1.840|
;;;139    				 {
;;;140    					Uart_Printf("Stylus Up Interrupt~!\n");
00033c  e28f00cc          ADR      r0,|L1.1040|
000340  ebfffffe          BL       Uart_Printf
;;;141    					break;	//if Stylus is up(1) state
000344  ea000000          B        |L1.844|
;;;142    				}
;;;143    			}	
                  |L1.840|
000348  eafffff6          B        |L1.808|
;;;144    
;;;145        Uart_Printf("count=%d XP=%04d, YP=%04d\n", count++, xdata, ydata);    //X-position Conversion data            
                  |L1.844|
00034c  e59f00d4          LDR      r0,|L1.1064|
000350  e5900000          LDR      r0,[r0,#0]  ; count
000354  e2802001          ADD      r2,r0,#1
000358  e59f30c8          LDR      r3,|L1.1064|
00035c  e1a01000          MOV      r1,r0
000360  e59f00a4          LDR      r0,|L1.1036|
000364  e5832000          STR      r2,[r3,#0]  ; count
000368  e5903000          LDR      r3,[r0,#0]  ; ydata
00036c  e59f0094          LDR      r0,|L1.1032|
000370  e5902000          LDR      r2,[r0,#0]  ; xdata
000374  e28f00b0          ADR      r0,|L1.1068|
000378  ebfffffe          BL       Uart_Printf
;;;146    
;;;147    	rADCDLY=saveAdcdly; 
00037c  e3a00458          MOV      r0,#0x58000000
000380  e5804008          STR      r4,[r0,#8]
;;;148    	rADCTSC=rADCTSC&~(1<<8); // Detect stylus Down interrupt signal.
000384  e3a00458          MOV      r0,#0x58000000
000388  e5900004          LDR      r0,[r0,#4]
00038c  e3c00f40          BIC      r0,r0,#0x100
000390  e3a01458          MOV      r1,#0x58000000
000394  e5810004          STR      r0,[r1,#4]
;;;149        rSUBSRCPND|=BIT_SUB_TC;
000398  e3a0044a          MOV      r0,#0x4a000000
00039c  e5900018          LDR      r0,[r0,#0x18]
0003a0  e3800f80          ORR      r0,r0,#0x200
0003a4  e3a0144a          MOV      r1,#0x4a000000
0003a8  e5810018          STR      r0,[r1,#0x18]
;;;150        rINTSUBMSK=~(BIT_SUB_TC);	// Unmask sub interrupt (TC)     
0003ac  e3e00f80          MVN      r0,#0x200
0003b0  e3a0144a          MOV      r1,#0x4a000000
0003b4  e581001c          STR      r0,[r1,#0x1c]
;;;151        ClearPending(BIT_ADC);
0003b8  e3a00480          MOV      r0,#0x80000000
0003bc  e3a0144a          MOV      r1,#0x4a000000
0003c0  e5810000          STR      r0,[r1,#0]
0003c4  e3a00480          MOV      r0,#0x80000000
0003c8  e3a0144a          MOV      r1,#0x4a000000
0003cc  e5810010          STR      r0,[r1,#0x10]
0003d0  e3a0044a          MOV      r0,#0x4a000000
0003d4  e5900010          LDR      r0,[r0,#0x10]
;;;152    }
0003d8  e28dd004          ADD      sp,sp,#4
0003dc  e8bd501f          LDMFD    sp!,{r0-r4,r12,lr}
0003e0  e25ef004          SUBS     pc,lr,#4
                  |L1.996|
0003e4  7974530a          DCB      "\nSty"
0003e8  2073756c          DCB      "lus "
0003ec  21217055          DCB      "Up!!"
0003f0  0000000a          DCB      "\n\0\0\0"
                  |L1.1012|
0003f4  7974530a          DCB      "\nSty"
0003f8  2073756c          DCB      "lus "
0003fc  6e776f44          DCB      "Down"
000400  000a2121          DCB      "!!\n\0"
                  |L1.1028|
000404  00009c40          DCD      0x00009c40
                  |L1.1032|
000408  00000004          DCD      ||.bss$2|| + 4
                  |L1.1036|
00040c  00000008          DCD      ||.bss$2|| + 8
                  |L1.1040|
000410  6c797453          DCB      "Styl"
000414  55207375          DCB      "us U"
000418  6e492070          DCB      "p In"
00041c  72726574          DCB      "terr"
000420  7e747075          DCB      "upt~"
000424  00000a21          DCB      "!\n\0\0"
                  |L1.1064|
000428  00000000          DCD      ||.bss$2||
                  |L1.1068|
00042c  6e756f63          DCB      "coun"
000430  64253d74          DCB      "t=%d"
000434  3d505820          DCB      " XP="
000438  64343025          DCB      "%04d"
00043c  5059202c          DCB      ", YP"
000440  3430253d          DCB      "=%04"
000444  00000a64          DCB      "d\n\0\0"
                          ENDP

                  Test_AdcTs PROC
;;;75     void Test_AdcTs(void)
;;;76     {
000448  e92d4008          STMFD    sp!,{r3,lr}
;;;77        
;;;78         rADCDLY=50000;                  //Normal conversion mode delay about (1/3.6864M)*50000=13.56ms
00044c  e59f0090          LDR      r0,|L1.1252|
000450  e3a01458          MOV      r1,#0x58000000
000454  e5810008          STR      r0,[r1,#8]
;;;79         rADCCON=(1<<14)+(ADCPRS<<6);   //ADCPRS En, ADCPRS Value
000458  e51f0318          LDR      r0,|L1.328|
00045c  e3a01458          MOV      r1,#0x58000000
000460  e5810000          STR      r0,[r1,#0]
;;;80     
;;;81         Uart_Printf("[ADC touch screen test.]\n");
000464  e28f007c          ADR      r0,|L1.1256|
000468  ebfffffe          BL       Uart_Printf
;;;82     
;;;83         rADCTSC=0xd3;  //Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En
00046c  e3a000d3          MOV      r0,#0xd3
000470  e3a01458          MOV      r1,#0x58000000
000474  e5810004          STR      r0,[r1,#4]
;;;84     
;;;85         pISR_ADC = (int)AdcTsAuto;
000478  e59f0084          LDR      r0,|L1.1284|
00047c  e59f1084          LDR      r1,|L1.1288|
000480  e5810f9c          STR      r0,[r1,#0xf9c]
;;;86     	rINTMSK=~BIT_ADC;       //ADC Touch Screen Mask bit clear
000484  e3e00480          MVN      r0,#0x80000000
000488  e3a0144a          MOV      r1,#0x4a000000
00048c  e5810008          STR      r0,[r1,#8]
;;;87     	rINTSUBMSK=~(BIT_SUB_TC);
000490  e3e00f80          MVN      r0,#0x200
000494  e3a0144a          MOV      r1,#0x4a000000
000498  e581001c          STR      r0,[r1,#0x1c]
;;;88     
;;;89     	Uart_Printf("\nType any key to exit!!!\n");
00049c  e28f0068          ADR      r0,|L1.1292|
0004a0  ebfffffe          BL       Uart_Printf
;;;90     	Uart_Printf("\nStylus Down, please...... \n");
0004a4  e28f007c          ADR      r0,|L1.1320|
0004a8  ebfffffe          BL       Uart_Printf
;;;91     	Uart_Getch();
0004ac  ebfffffe          BL       Uart_Getch
;;;92     
;;;93     	rINTSUBMSK|=BIT_SUB_TC;
0004b0  e3a0044a          MOV      r0,#0x4a000000
0004b4  e590001c          LDR      r0,[r0,#0x1c]
0004b8  e3800f80          ORR      r0,r0,#0x200
0004bc  e3a0144a          MOV      r1,#0x4a000000
0004c0  e581001c          STR      r0,[r1,#0x1c]
;;;94     	rINTMSK|=BIT_ADC;
0004c4  e3a0044a          MOV      r0,#0x4a000000
0004c8  e5900008          LDR      r0,[r0,#8]
0004cc  e3800480          ORR      r0,r0,#0x80000000
0004d0  e3a0144a          MOV      r1,#0x4a000000
0004d4  e5810008          STR      r0,[r1,#8]
;;;95     	Uart_Printf("[Touch Screen Test.]\n");
0004d8  e28f0068          ADR      r0,|L1.1352|
0004dc  ebfffffe          BL       Uart_Printf
;;;96     
;;;97     }
0004e0  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.1252|
0004e4  0000c350          DCD      0x0000c350
                  |L1.1256|
0004e8  4344415b          DCB      "[ADC"
0004ec  756f7420          DCB      " tou"
0004f0  73206863          DCB      "ch s"
0004f4  65657263          DCB      "cree"
0004f8  6574206e          DCB      "n te"
0004fc  5d2e7473          DCB      "st.]"
000500  0000000a          DCB      "\n\0\0\0"
                  |L1.1284|
000504  00000000          DCD      AdcTsAuto
                  |L1.1288|
000508  31fff000          DCD      0x31fff000
                  |L1.1292|
00050c  7079540a          DCB      "\nTyp"
000510  6e612065          DCB      "e an"
000514  656b2079          DCB      "y ke"
000518  6f742079          DCB      "y to"
00051c  69786520          DCB      " exi"
000520  21212174          DCB      "t!!!"
000524  0000000a          DCB      "\n\0\0\0"
                  |L1.1320|
000528  7974530a          DCB      "\nSty"
00052c  2073756c          DCB      "lus "
000530  6e776f44          DCB      "Down"
000534  6c70202c          DCB      ", pl"
000538  65736165          DCB      "ease"
00053c  2e2e2e2e          DCB      "...."
000540  0a202e2e          DCB      ".. \n"
000544  00000000          DCB      "\0\0\0\0"
                  |L1.1352|
000548  756f545b          DCB      "[Tou"
00054c  53206863          DCB      "ch S"
000550  65657263          DCB      "cree"
000554  6554206e          DCB      "n Te"
000558  5d2e7473          DCB      "st.]"
00055c  0000000a          DCB      "\n\0\0\0"
                          ENDP



                          AREA ||.data||, DATA, ALIGN=2

                  ||.data$0||
                  ||prevCh@ReadAdc_0||
                          DCD      0xffffffff


                          AREA ||.bss||, NOINIT, ALIGN=2

                  count
                  ||.bss$2||
                          % 4
                  xdata
                          % 4
                  ydata
                          % 4


        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -