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

📄 memdev_autodev.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 934] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\memdev_autodev.o --depend=.\Obj\memdev_autodev.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x -D__MICROLIB ..\..\source\memdev_autodev.c]
                          THUMB

                          AREA ||i._Draw||, CODE, READONLY, ALIGN=2

                  _Draw PROC
;;;193    */
;;;194    static void _Draw(void * p) {
000000  b510              PUSH     {r4,lr}
;;;195      PARAM * pParam = (PARAM *)p;
000002  4604              MOV      r4,r0
;;;196      /* Fixed background */
;;;197      if (pParam->AutoDevInfo.DrawFixed) {
000004  7800              LDRB     r0,[r0,#0]
000006  b158              CBZ      r0,|L1.32|
;;;198        GUI_ClearRect (60, 80 + bmScaleR140.YSize, 60 + bmScaleR140.XSize - 1, 180);
000008  23b4              MOVS     r3,#0xb4
00000a  f240f240          MOV      r2,#0x103
00000e  2199              MOVS     r1,#0x99
000010  203c              MOVS     r0,#0x3c
000012  f7fff7ff          BL       GUI_ClearRect
;;;199        GUI_DrawBitmap(&bmScaleR140, 60, 80);
000016  2250              MOVS     r2,#0x50
000018  213c              MOVS     r1,#0x3c
00001a  4811              LDR      r0,|L1.96|
00001c  f7fff7ff          BL       GUI_DrawBitmap
                  |L1.32|
;;;200      }
;;;201      /* Moving needle */
;;;202      GUI_SetColor(GUI_WHITE);
000020  f06ff06f          MVN      r0,#0xff000000
000024  f7fff7ff          BL       GUI_SetColor
;;;203      GUI_AA_FillPolygon(pParam->aPoints, countof(_aNeedle), MAG * 160, MAG * 220);
000028  f44ff44f          MOV      r3,#0x370
00002c  f44ff44f          MOV      r2,#0x280
000030  2105              MOVS     r1,#5
000032  1ca0              ADDS     r0,r4,#2
000034  f7fff7ff          BL       GUI_AA_FillPolygon
;;;204      /* Fixed foreground */
;;;205      if (pParam->AutoDevInfo.DrawFixed) {
000038  7820              LDRB     r0,[r4,#0]
00003a  2800              CMP      r0,#0
00003c  d00f              BEQ      |L1.94|
;;;206        GUI_SetTextMode(GUI_TM_TRANS);
00003e  2002              MOVS     r0,#2
000040  f7fff7ff          BL       GUI_SetTextMode
;;;207        GUI_SetColor(GUI_RED);
000044  20ff              MOVS     r0,#0xff
000046  f7fff7ff          BL       GUI_SetColor
;;;208        GUI_SetFont(&GUI_Font24B_ASCII);
00004a  4806              LDR      r0,|L1.100|
00004c  f7fff7ff          BL       GUI_SetFont
;;;209        GUI_DispStringHCenterAt("RPM / 1000", 160, 140);
000050  228c              MOVS     r2,#0x8c
000052  e8bde8bd          POP      {r4,lr}
000056  21a0              MOVS     r1,#0xa0
000058  a003              ADR      r0,|L1.104|
00005a  f7fff7ff          B.W      GUI_DispStringHCenterAt
                  |L1.94|
;;;210      }
;;;211    }
00005e  bd10              POP      {r4,pc}
;;;212    
                          ENDP

                  |L1.96|
000060  00000000          DCD      ||.constdata||
                  |L1.100|
000064  00000000          DCD      GUI_Font24B_ASCII
                  |L1.104|
000068  52504d20          DCB      "RPM "
00006c  2f203130          DCB      "/ 10"
000070  30300000          DCB      "00\0\0"

                          AREA ||i._DemoScale||, CODE, READONLY, ALIGN=2

                  _DemoScale PROC
;;;216    */
;;;217    static void _DemoScale(void) {
000000  e92de92d          PUSH     {r4-r10,lr}
000004  b08e              SUB      sp,sp,#0x38
;;;218      int Cnt;
;;;219      int tDiff, t0;
;;;220      PARAM Param;            /* Parameters for drawing routine */
;;;221      GUI_AUTODEV AutoDev;    /* Object for banding memory device */
;;;222      /* Show message */
;;;223      GUI_SetBkColor(GUI_BLACK);
000006  2000              MOVS     r0,#0
000008  f7fff7ff          BL       GUI_SetBkColor
;;;224      GUI_Clear();
00000c  f7fff7ff          BL       GUI_Clear
;;;225      GUI_SetColor(GUI_WHITE);
000010  f06ff06f          MVN      r10,#0xff000000
000014  4650              MOV      r0,r10
000016  f7fff7ff          BL       GUI_SetColor
;;;226      GUI_SetFont(&GUI_Font24_ASCII);
00001a  4837              LDR      r0,|L2.248|
00001c  f7fff7ff          BL       GUI_SetFont
;;;227      GUI_DispStringHCenterAt("MEMDEV_AutoDev - Sample", 160, 5);
000020  2205              MOVS     r2,#5
000022  21a0              MOVS     r1,#0xa0
000024  a035              ADR      r0,|L2.252|
000026  f7fff7ff          BL       GUI_DispStringHCenterAt
;;;228      GUI_SetFont(&GUI_Font8x16);
00002a  483a              LDR      r0,|L2.276|
00002c  f7fff7ff          BL       GUI_SetFont
;;;229      GUI_DispStringHCenterAt("Scale using GUI_AUTODEV-object", 160, 50);
000030  2232              MOVS     r2,#0x32
000032  21a0              MOVS     r1,#0xa0
000034  a038              ADR      r0,|L2.280|
000036  f7fff7ff          BL       GUI_DispStringHCenterAt
;;;230      /* Enable high resolution for antialiasing */
;;;231      GUI_AA_EnableHiRes();
00003a  f7fff7ff          BL       GUI_AA_EnableHiRes
;;;232      GUI_AA_SetFactor(MAG);
00003e  2004              MOVS     r0,#4
000040  f7fff7ff          BL       GUI_AA_SetFactor
000044  f645f645          MOV      r7,#0x5dc0
                  |L2.72|
;;;233      while (1) {
;;;234        t0 = GUI_GetTime();
000048  f7fff7ff          BL       GUI_GetTime
00004c  4680              MOV      r8,r0
;;;235        /* Create GUI_AUTODEV-object */
;;;236        GUI_MEMDEV_CreateAuto(&AutoDev);
00004e  4668              MOV      r0,sp
000050  f7fff7ff          BL       GUI_MEMDEV_CreateAuto
;;;237        /* Show needle for a fixed time */
;;;238        for (Cnt = 0; (tDiff = GUI_GetTime() - t0) < 24000; Cnt++) {
000054  2500              MOVS     r5,#0
000056  ae05              ADD      r6,sp,#0x14
000058  f8dff8df          LDR      r9,|L2.312|
00005c  e013              B        |L2.134|
                  |L2.94|
;;;239          /* Get value to display an calculate polygon for needle  */
;;;240          Param.Angle = _GetAngle(tDiff)* DEG2RAD;
00005e  4620              MOV      r0,r4
000060  f7fff7ff          BL       _GetAngle
000064  4649              MOV      r1,r9
000066  f7fff7ff          BL       __aeabi_fmul
00006a  4603              MOV      r3,r0
;;;241          GUI_RotatePolygon(Param.aPoints, _aNeedle, countof(_aNeedle), Param.Angle);
00006c  900d              STR      r0,[sp,#0x34]
00006e  2205              MOVS     r2,#5
000070  4932              LDR      r1,|L2.316|
000072  1cb0              ADDS     r0,r6,#2
000074  f7fff7ff          BL       GUI_RotatePolygon
;;;242          GUI_MEMDEV_DrawAuto(&AutoDev, &Param.AutoDevInfo, &_Draw, &Param);
000078  ab05              ADD      r3,sp,#0x14
00007a  4a31              LDR      r2,|L2.320|
00007c  a905              ADD      r1,sp,#0x14
00007e  4668              MOV      r0,sp
000080  f7fff7ff          BL       GUI_MEMDEV_DrawAuto
000084  1c6d              ADDS     r5,r5,#1              ;238
                  |L2.134|
000086  f7fff7ff          BL       GUI_GetTime
00008a  eba0eba0          SUB      r4,r0,r8              ;238
00008e  42bc              CMP      r4,r7                 ;238
000090  dbe5              BLT      |L2.94|
;;;243        }
;;;244        /* Display milliseconds / picture */
;;;245        GUI_SetColor(GUI_WHITE);
000092  4650              MOV      r0,r10
000094  f7fff7ff          BL       GUI_SetColor
;;;246        GUI_SetFont(&GUI_Font8x16);
000098  481e              LDR      r0,|L2.276|
00009a  f7fff7ff          BL       GUI_SetFont
;;;247        GUI_DispStringHCenterAt("Milliseconds / picture:", 160, 200);
00009e  22c8              MOVS     r2,#0xc8
0000a0  21a0              MOVS     r1,#0xa0
0000a2  a028              ADR      r0,|L2.324|
0000a4  f7fff7ff          BL       GUI_DispStringHCenterAt
;;;248        GUI_SetTextAlign(GUI_TA_CENTER);
0000a8  2002              MOVS     r0,#2
0000aa  f7fff7ff          BL       GUI_SetTextAlign
;;;249        GUI_SetTextMode(GUI_TM_NORMAL);
0000ae  2000              MOVS     r0,#0
0000b0  f7fff7ff          BL       GUI_SetTextMode
;;;250        GUI_DispNextLine();
0000b4  f7fff7ff          BL       GUI_DispNextLine
;;;251        GUI_GotoX(160);
0000b8  20a0              MOVS     r0,#0xa0
0000ba  f7fff7ff          BL       GUI_GotoX
;;;252        GUI_DispFloatMin((float)tDiff / (float)Cnt, 2);
0000be  4628              MOV      r0,r5
0000c0  f7fff7ff          BL       __aeabi_i2f
0000c4  4605              MOV      r5,r0
0000c6  4620              MOV      r0,r4
0000c8  f7fff7ff          BL       __aeabi_i2f
0000cc  4629              MOV      r1,r5
0000ce  f7fff7ff          BL       __aeabi_fdiv
0000d2  2102              MOVS     r1,#2
0000d4  f7fff7ff          BL       GUI_DispFloatMin
;;;253        /* Delete GUI_AUTODEV-object */
;;;254        GUI_MEMDEV_DeleteAuto(&AutoDev);
0000d8  4668              MOV      r0,sp
0000da  f7fff7ff          BL       GUI_MEMDEV_DeleteAuto
;;;255        GUI_Delay(3000);
0000de  f640f640          MOV      r0,#0xbb8
0000e2  f7fff7ff          BL       GUI_Delay
;;;256        GUI_ClearRect(0, 70, 319, 239);
0000e6  23ef              MOVS     r3,#0xef
0000e8  f240f240          MOV      r2,#0x13f
0000ec  2146              MOVS     r1,#0x46
0000ee  2000              MOVS     r0,#0
0000f0  f7fff7ff          BL       GUI_ClearRect
0000f4  e7a8              B        |L2.72|
;;;257      }
;;;258    }
;;;259    
                          ENDP

0000f6  0000              DCW      0x0000
                  |L2.248|
0000f8  00000000          DCD      GUI_Font24_ASCII
                  |L2.252|
0000fc  4d454d44          DCB      "MEMD"
000100  45565f41          DCB      "EV_A"
000104  75746f44          DCB      "utoD"
000108  6576202d          DCB      "ev -"
00010c  2053616d          DCB      " Sam"
000110  706c6500          DCB      "ple\0"
                  |L2.276|
000114  00000000          DCD      GUI_Font8x16
                  |L2.280|
000118  5363616c          DCB      "Scal"
00011c  65207573          DCB      "e us"
000120  696e6720          DCB      "ing "
000124  4755495f          DCB      "GUI_"
000128  4155544f          DCB      "AUTO"
00012c  4445562d          DCB      "DEV-"
000130  6f626a65          DCB      "obje"
000134  63740000          DCB      "ct\0\0"
                  |L2.312|
000138  3c8efa35          DCD      0x3c8efa35
                  |L2.316|
00013c  00000014          DCD      ||.constdata||+0x14
                  |L2.320|
000140  00000000          DCD      _Draw
                  |L2.324|
000144  4d696c6c          DCB      "Mill"
000148  69736563          DCB      "isec"
00014c  6f6e6473          DCB      "onds"
000150  202f2070          DCB      " / p"
000154  69637475          DCB      "ictu"
000158  72653a00          DCB      "re:\0"

                          AREA ||i.MainTask||, CODE, READONLY, ALIGN=2

                  MainTask PROC

⌨️ 快捷键说明

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