📄 main.lst
字号:
ARM COMPILER V0.07, main 07/07/04 10:12:49 PAGE 1
ARM COMPILER V0.07, COMPILATION OF MODULE main
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe main.c ARM DEBUG TABS(4)
stmt level source
1 /************************************************************/
2 /* PROJECT NAME: AtoD */
3 /* Project: LPC2100 Training course */
4 /* Engineer: T Martin tmartin@hitex.co.uk */
5 /* Filename: main.c */
6 /* Language: C */
7 /* Compiler: Keil ARM V1.3 */
8 /* Assembler: */
9 /* */
10 /************************************************************/
11 /* COPYRIGHT: Hitex UK Ltd 2004 */
12 /* LICENSE: THIS VERSION CREATED FOR FREE DISTRIBUTION */
13 /************************************************************/
14 /* Function: */
15 /* */
16 /* Example Discrete Fourier Transform */
17 /* */
18 /* Demonstrates Fourier transform */
19 /* */
20 /* Oscillator frequency 12.000 Mhz */
21 /* Target board Keil MCB2100 */
22 /************************************************************/
23
24 #include "lpc21xx.h"
25 #include <math.h>
26 unsigned val = 0;
27 float XX[511];
28 float REX[256];
29 float IMX[256];
30 float MAG[256];
31
32 int main(void)
33 {
34 1
35 1
36 1 unsigned index,K,I,N;
37 1 float PI =3.14159265;
38 1 N = 512;
39 1 VPBDIV = 0x02; //Set the Pclk to 30 Mhz
40 1 IODIR1 = 0x00FF0000; // P1.16..23 defined as Outputs
41 1 ADCR = 0x00270601; // Setup A/D: 10-bit AIN0 @ 3MHz
42 1 ADCR |= 0x01000000; // Start A/D Conversion
43 1
44 1 while(1)
45 1 {
46 2
47 2 /*for (index = 0;index<(N-1);index++)
48 2 {
49 2 do
50 2 {
51 2 val = ADDR; // Read A/D Data Register
52 2 }
53 2 while ((val & 0x80000000) == 0); //Wait for the conversion to complete
54 2 XX[index] =(float) ((val >> 6) & 0x03FF); //Extract the A/D result
55 2 }
56 2 */
57 2 XX[index] = 0;
58 2
59 2 for (index = 1;index<(N-1);index++)
ARM COMPILER V0.07, main 07/07/04 10:12:49 PAGE 2
60 2 {
61 3 XX[index] = 0.5;
62 3 }
63 2 for (index = 0;index < 256;index++)
64 2 {
65 3 REX[index] = 0;
66 3 IMX[index] = 0;
67 3 }
68 2
69 2 for( K = 0;K<256;K++)
70 2 {
71 3 for(I = 0;I<511;I++)
72 3 {
73 4 REX[K] = REX[K] + XX[I]* cos(2 * PI * K * I / N);
74 4 IMX[K] = IMX[K] - XX[I]* sin(2 * PI * K * I / N);
75 4 }
76 3 }
77 2
78 2 for (K = 0;K<(N/2);K++)
79 2 {
80 3 ;
81 3
82 3 }
83 2
84 2 }
85 1 }
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -