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

📄 wavemaker.txt

📁 STM32手持式示波器源代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:
000118  2101              MOVS     r1,#1
00011a  4807              LDR      r0,|L1.312|
00011c  f7fffffe          BL       TIM_Cmd
;;;316    	//TIM_Cmd(TIM2, ENABLE);
;;;317    
;;;318    }
000120  b00c              ADD      sp,sp,#0x30
000122  bd10              POP      {r4,pc}
;;;319    
                          ENDP

                  |L1.292|
                          DCD      g_SineWave32
                  |L1.296|
000128  1cac0831
00012c  3fe3645a          DCFD     0x3fe3645a1cac0831 ; 0.60599999999999998
                  |L1.304|
                          DCD      g_Wave
                  |L1.308|
                          DCD      0x40010800
                  |L1.312|
                          DCD      0x40001000
                  |L1.316|
                          DCD      0x40020430
                  |L1.320|
                          DCD      0x40007408

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

                  SetupWaveType PROC
;;;319    
;;;320    void SetupWaveType(uint8_t _type)
000000  b57f              PUSH     {r0-r6,lr}
;;;321    {
000002  4604              MOV      r4,r0
;;;322    	/*
;;;323    		计算波形幅度。
;;;324    		DAC寄存器最大值 4096 对应3.3V
;;;325    
;;;326    		我们期望获得2V的幅度,系数 = 0.606
;;;327    		4096 * 0.606 = 2482
;;;328    	*/
;;;329    	TIM_Cmd(TIM6, DISABLE);
000004  2100              MOVS     r1,#0
000006  481d              LDR      r0,|L2.124|
000008  f7fffffe          BL       TIM_Cmd
;;;330    	switch (_type)
00000c  b114              CBZ      r4,|L2.20|
00000e  2c01              CMP      r4,#1
000010  d12d              BNE      |L2.110|
000012  e018              B        |L2.70|
                  |L2.20|
;;;331    	{
;;;332    		case WT_SIN:	/* 正弦波 */
;;;333    			{
;;;334    				uint32_t i;
;;;335    
;;;336    				for (i = 0; i < 128; i++)
000014  2500              MOVS     r5,#0
000016  e013              B        |L2.64|
                  |L2.24|
;;;337    				{
;;;338    					/* 调整正弦波幅度 */
;;;339    					g_Wave[i] = g_SineWave32[i] * 0.606;
000018  4919              LDR      r1,|L2.128|
00001a  f8310015          LDRH     r0,[r1,r5,LSL #1]
00001e  f7fffffe          BL       __aeabi_ui2d
000022  e9cd0102          STRD     r0,r1,[sp,#8]
000026  a017              ADR      r0,|L2.132|
000028  c80c              LDM      r0!,{r2,r3}
00002a  9802              LDR      r0,[sp,#8]
00002c  f7fffffe          BL       __aeabi_dmul
000030  e9cd0100          STRD     r0,r1,[sp,#0]
000034  f7fffffe          BL       __aeabi_d2uiz
000038  4914              LDR      r1,|L2.140|
00003a  f8210015          STRH     r0,[r1,r5,LSL #1]
00003e  1c6d              ADDS     r5,r5,#1              ;336
                  |L2.64|
000040  2d80              CMP      r5,#0x80              ;336
000042  d3e9              BCC      |L2.24|
;;;340    				}
;;;341    
;;;342    			}
;;;343    			break;
000044  e013              B        |L2.110|
                  |L2.70|
;;;344    
;;;345    		case WT_RECT:	/* 方波 */
;;;346    			{
;;;347    				uint32_t i;
;;;348    
;;;349    				for (i = 0; i < 64; i++)
000046  2000              MOVS     r0,#0
000048  e004              B        |L2.84|
                  |L2.74|
;;;350    				{
;;;351    					g_Wave[i] = 0;
00004a  2100              MOVS     r1,#0
00004c  4a0f              LDR      r2,|L2.140|
00004e  f8221010          STRH     r1,[r2,r0,LSL #1]
000052  1c40              ADDS     r0,r0,#1              ;349
                  |L2.84|
000054  2840              CMP      r0,#0x40              ;349
000056  d3f8              BCC      |L2.74|
;;;352    				}
;;;353    
;;;354    				for (i = 0; i < 64; i++)
000058  2000              MOVS     r0,#0
00005a  e005              B        |L2.104|
                  |L2.92|
;;;355    				{
;;;356    					g_Wave[i] = 2482;
00005c  f64011b2          MOV      r1,#0x9b2
000060  4a0a              LDR      r2,|L2.140|
000062  f8221010          STRH     r1,[r2,r0,LSL #1]
000066  1c40              ADDS     r0,r0,#1              ;354
                  |L2.104|
000068  2840              CMP      r0,#0x40              ;354
00006a  d3f7              BCC      |L2.92|
;;;357    				}
;;;358    			}
;;;359    			break;
00006c  bf00              NOP      
                  |L2.110|
00006e  bf00              NOP                            ;343
;;;360    	}
;;;361    
;;;362    
;;;363        TIM_Cmd(TIM6, ENABLE);
000070  2101              MOVS     r1,#1
000072  4802              LDR      r0,|L2.124|
000074  f7fffffe          BL       TIM_Cmd
;;;364    }
000078  bd7f              POP      {r0-r6,pc}
                          ENDP

00007a  0000              DCW      0x0000
                  |L2.124|
                          DCD      0x40001000
                  |L2.128|
                          DCD      g_SineWave32
                  |L2.132|
000084  1cac0831
000088  3fe3645a          DCFD     0x3fe3645a1cac0831 ; 0.60599999999999998
                  |L2.140|
                          DCD      g_Wave

                          AREA ||.bss||, DATA, NOINIT, ALIGN=1

                  g_Wave
                          %        256

                          AREA ||.constdata||, DATA, READONLY, ALIGN=1

                  g_SineWave128
000000  07ff0863          DCW      0x07ff,0x0863
000004  08c8092b          DCW      0x08c8,0x092b
000008  098e09f0          DCW      0x098e,0x09f0
00000c  0a510ab1          DCW      0x0a51,0x0ab1
000010  0b0e0b6a          DCW      0x0b0e,0x0b6a
000014  0bc40c1b          DCW      0x0bc4,0x0c1b
000018  0c700cc2          DCW      0x0c70,0x0cc2
00001c  0d120d5e          DCW      0x0d12,0x0d5e
000020  0da60dec          DCW      0x0da6,0x0dec
000024  0e2d0e6b          DCW      0x0e2d,0x0e6b
000028  0ea50edb          DCW      0x0ea5,0x0edb
00002c  0f0c0f39          DCW      0x0f0c,0x0f39
000030  0f620f86          DCW      0x0f62,0x0f86
000034  0fa60fc1          DCW      0x0fa6,0x0fc1
000038  0fd70fe8          DCW      0x0fd7,0x0fe8
00003c  0ff40ffc          DCW      0x0ff4,0x0ffc
000040  0ffe0ffc          DCW      0x0ffe,0x0ffc
000044  0ff40fe8          DCW      0x0ff4,0x0fe8
000048  0fd70fc1          DCW      0x0fd7,0x0fc1
00004c  0fa60f86          DCW      0x0fa6,0x0f86
000050  0f620f39          DCW      0x0f62,0x0f39
000054  0f0c0edb          DCW      0x0f0c,0x0edb
000058  0ea50e6b          DCW      0x0ea5,0x0e6b
00005c  0e2d0dec          DCW      0x0e2d,0x0dec
000060  0da60d5e          DCW      0x0da6,0x0d5e
000064  0d120cc2          DCW      0x0d12,0x0cc2
000068  0c700c1b          DCW      0x0c70,0x0c1b
00006c  0bc40b6a          DCW      0x0bc4,0x0b6a
000070  0b0e0ab1          DCW      0x0b0e,0x0ab1
000074  0a5109f0          DCW      0x0a51,0x09f0
000078  098e092b          DCW      0x098e,0x092b
00007c  08c80863          DCW      0x08c8,0x0863
000080  07ff079b          DCW      0x07ff,0x079b
000084  073606d3          DCW      0x0736,0x06d3
000088  0670060e          DCW      0x0670,0x060e
00008c  05ad054d          DCW      0x05ad,0x054d
000090  04f00494          DCW      0x04f0,0x0494
000094  043a03e3          DCW      0x043a,0x03e3
000098  038e033c          DCW      0x038e,0x033c
00009c  02ec02a0          DCW      0x02ec,0x02a0
0000a0  02580212          DCW      0x0258,0x0212
0000a4  01d10193          DCW      0x01d1,0x0193
0000a8  01590123          DCW      0x0159,0x0123
0000ac  00f200c5          DCW      0x00f2,0x00c5
0000b0  009c0078          DCW      0x009c,0x0078
0000b4  0058003d          DCW      0x0058,0x003d
0000b8  00270016          DCW      0x0027,0x0016
0000bc  000a0002          DCW      0x000a,0x0002
0000c0  00000002          DCW      0x0000,0x0002
0000c4  000a0016          DCW      0x000a,0x0016
0000c8  0027003d          DCW      0x0027,0x003d
0000cc  00580078          DCW      0x0058,0x0078
0000d0  009c00c5          DCW      0x009c,0x00c5
0000d4  00f20123          DCW      0x00f2,0x0123
0000d8  01590193          DCW      0x0159,0x0193
0000dc  01d10212          DCW      0x01d1,0x0212
0000e0  025802a0          DCW      0x0258,0x02a0
0000e4  02ec033c          DCW      0x02ec,0x033c
0000e8  038e03e3          DCW      0x038e,0x03e3
0000ec  043a0494          DCW      0x043a,0x0494
0000f0  04f0054d          DCW      0x04f0,0x054d
0000f4  05ad060e          DCW      0x05ad,0x060e
0000f8  067006d3          DCW      0x0670,0x06d3
0000fc  0736079b          DCW      0x0736,0x079b
                  g_SineWave32
000100  07ff098f          DCW      0x07ff,0x098f
000104  0b0f0c71          DCW      0x0b0f,0x0c71
000108  0daa0ea6          DCW      0x0daa,0x0ea6
00010c  0f630fd8          DCW      0x0f63,0x0fd8
000110  0fff0fd8          DCW      0x0fff,0x0fd8
000114  0f630ea6          DCW      0x0f63,0x0ea6
000118  0da70c71          DCW      0x0da7,0x0c71
00011c  0b0f098f          DCW      0x0b0f,0x098f
000120  07ff066f          DCW      0x07ff,0x066f
000124  04ef038d          DCW      0x04ef,0x038d
000128  02570158          DCW      0x0257,0x0158
00012c  009b0026          DCW      0x009b,0x0026
000130  00000026          DCW      0x0000,0x0026
000134  009b0158          DCW      0x009b,0x0158
000138  0257038d          DCW      0x0257,0x038d
00013c  04ef066f          DCW      0x04ef,0x066f
                  g_SineWave32_FangBo
000140  00000000          DCW      0x0000,0x0000
000144  00000000          DCW      0x0000,0x0000
000148  00000000          DCW      0x0000,0x0000
00014c  00000000          DCW      0x0000,0x0000
000150  00000000          DCW      0x0000,0x0000
000154  00000000          DCW      0x0000,0x0000
000158  00000000          DCW      0x0000,0x0000
00015c  00000000          DCW      0x0000,0x0000
000160  0fff0fff          DCW      0x0fff,0x0fff
000164  0fff0fff          DCW      0x0fff,0x0fff
000168  0fff0fff          DCW      0x0fff,0x0fff
00016c  0fff0fff          DCW      0x0fff,0x0fff
000170  0fff0fff          DCW      0x0fff,0x0fff
000174  0fff0fff          DCW      0x0fff,0x0fff
000178  0fff0fff          DCW      0x0fff,0x0fff
00017c  0fff0fff          DCW      0x0fff,0x0fff

⌨️ 快捷键说明

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