📄 int.lst
字号:
C51 COMPILER V8.08 INT 08/04/2008 21:49:57 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE INT
OBJECT MODULE PLACED IN int.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\int.c DEBUG OBJECTEXTEND PRINT(.\int.lst) OBJECT(int.obj)
line level source
1 #define INT_GLOBAL
2 #include "user_includes.h"
*** ERROR C141 IN LINE 45 OF SRC\..\ARM\CONFIG.H: syntax error near 'long'
*** ERROR C141 IN LINE 46 OF SRC\..\ARM\CONFIG.H: syntax error near 'long'
*** ERROR C141 IN LINE 83 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x00'
*** ERROR C132 IN LINE 83 OF SRC\..\ARM\OS_CPU.H: 'OS_TASK_SW': not in formal parameter list
*** ERROR C141 IN LINE 84 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x01'
*** ERROR C132 IN LINE 84 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 84 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 84 OF SRC\..\ARM\OS_CPU.H: '_OSStartHighRdy': not in formal parameter list
*** ERROR C141 IN LINE 85 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x02'
*** ERROR C132 IN LINE 85 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 85 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 85 OF SRC\..\ARM\OS_CPU.H: 'OS_ENTER_CRITICAL': not in formal parameter list
*** ERROR C141 IN LINE 86 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x03'
*** ERROR C132 IN LINE 86 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 86 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 86 OF SRC\..\ARM\OS_CPU.H: 'OS_EXIT_CRITICAL': not in formal parameter list
*** ERROR C141 IN LINE 88 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x40'
*** ERROR C132 IN LINE 88 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 88 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 88 OF SRC\..\ARM\OS_CPU.H: '_GetOSFunctionAddr': not in formal parameter list
*** ERROR C141 IN LINE 89 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x41'
*** ERROR C132 IN LINE 89 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 89 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 89 OF SRC\..\ARM\OS_CPU.H: '_GetUsrFunctionAddr': not in formal parameter list
*** ERROR C141 IN LINE 90 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x42'
*** ERROR C132 IN LINE 90 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 90 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 90 OF SRC\..\ARM\OS_CPU.H: 'OSISRBegin': not in formal parameter list
*** ERROR C141 IN LINE 91 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x43'
*** ERROR C132 IN LINE 91 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 91 OF SRC\..\ARM\OS_CPU.H: syntax error near 'int'
*** ERROR C132 IN LINE 91 OF SRC\..\ARM\OS_CPU.H: 'OSISRNeedSwap': not in formal parameter list
*** ERROR C141 IN LINE 93 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x80'
*** ERROR C132 IN LINE 93 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 93 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 93 OF SRC\..\ARM\OS_CPU.H: 'ChangeToSYSMode': not in formal parameter list
*** ERROR C141 IN LINE 94 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x81'
*** ERROR C132 IN LINE 94 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 94 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 94 OF SRC\..\ARM\OS_CPU.H: 'ChangeToUSRMode': not in formal parameter list
*** ERROR C141 IN LINE 95 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x82'
*** ERROR C132 IN LINE 95 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 95 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 95 OF SRC\..\ARM\OS_CPU.H: '_TaskIsARM': not in formal parameter list
*** ERROR C141 IN LINE 96 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x83'
*** ERROR C132 IN LINE 96 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 96 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 96 OF SRC\..\ARM\OS_CPU.H: '_TaskIsTHUMB': not in formal parameter list
*** ERROR C127 IN LINE 113 OF SRC\..\ARM\OS_CPU.H: 'OsEnterSum': invalid storage class
*** ERROR C127 IN LINE 284 OF SRC\..\UCOSII\UCOS_II.H: 'OS_EVENT': invalid storage class
*** ERROR C127 IN LINE 301 OF SRC\..\UCOSII\UCOS_II.H: 'OS_FLAGS': invalid storage class
*** ERROR C141 IN LINE 312 OF SRC\..\UCOSII\UCOS_II.H: syntax error near 'OS_FLAGS'
*** ERROR C127 IN LINE 312 OF SRC\..\UCOSII\UCOS_II.H: 'OS_FLAGS': invalid storage class
C51 COMPILER V8.08 INT 08/04/2008 21:49:57 PAGE 2
*** ERROR C141 IN LINE 312 OF SRC\..\UCOSII\UCOS_II.H: syntax error near 'OSFlagFlags'
*** ERROR C127 IN LINE 312 OF SRC\..\UCOSII\UCOS_II.H: 'OSFlagFlags': invalid storage class
*** ERROR C132 IN LINE 314 OF SRC\..\UCOSII\UCOS_II.H: 'OSFlagName': not in formal parameter list
*** ERROR C141 IN LINE 316 OF SRC\..\UCOSII\UCOS_II.H: syntax error near '}'
*** ERROR C141 IN LINE 325 OF SRC\..\UCOSII\UCOS_II.H: syntax error near 'OS_FLAGS'
*** ERROR C129 IN LINE 325 OF SRC\..\UCOSII\UCOS_II.H: missing ';' before 'OSFlagNodeFlags'
*** WARNING C318 IN LINE 103 OF SRC\..\ARM\CONFIG.H: can't open file 'rt_misc.h'
*** WARNING C322 IN LINE 109 OF SRC\DISPLAY.H: unknown identifier
*** WARNING C322 IN LINE 155 OF SRC\DISPLAY.H: unknown identifier
*** WARNING C322 IN LINE 201 OF SRC\DISPLAY.H: unknown identifier
3
4 /***************************************************************************
5 [Function]:
6 [Input]:
7 [Output]:
8 [Note]:
9 ***************************************************************************/
10 //PO脉冲输出的高低电平可以用timer1直接控制,而不用以20ms为单位来输出
11 void Timer1_Exception(void){
12 // T1MR3 += Timer100MS;
13 if (T1IR &0x01){
14 T1IR = 0x01;
15 }
16 if (T1IR &0x02){
17 T1IR = 0x02;
18 }
19 if (T1IR &0x04){
20 T1IR = 0x04;
21 }
22 if (T1IR & 0x08)
23 {
24 T1IR = 0x08;
25 if (((SSPSR &0x1)&&(SPI1Data.Mode == SPI1_TX_OK))
26 || !SPI1Data.Timer ){
27 T1MCR &= ~(1<<9);
28 //Set1SPI1SSEL();
29 DisableSPI1Interrupt();
30 SPI1Data.Mode = SPI1_IDLE;
31 OSSemPost(SPI1Sem);
32 }
33 else {
34 T1MR3 = T1TC + SPI1_CPSDVSR*8;
35 }
36 if (SPI1Data.Timer){
37 SPI1Data.Timer--;
38 }
39 }
40 VICVectAddr = 0x00; // 中断处理结束
41 }
42
43 /***************************************************************************
44 [Function]: 定时器1初始化
45 [Input]:
46 [Output]:
47 [Note]:
48 ***************************************************************************/
49 void T1_Ini(void)
50 {
51 T1TC = 0; /* 定时器设置为0 */
52 T1PR = 0;/* 时钟不分频 */
53 T1MCR = 1 | (1 << 3) | (1 << 6);/* 设置T0MR0匹配后复位T0TC,并产生中断标志 */
54 // |(1<<9);
C51 COMPILER V8.08 INT 08/04/2008 21:49:57 PAGE 3
55
56 // T1MR2 = Timer20MS;
57 // BeepTimePerCycle = Fpclk / 100;/* 0.01秒钟定时 */
58 T1TCR = 0x03; //启动并复位T1TC
59 T1TCR = 0x01;/* 启动定时器*/
60 }
61
62 /***************************************************************************
63 [Function]:
64 [Input]:
65 [Output]:
66 [Note]:
67 ***************************************************************************/
68 void SPI1_Init(void)
69 {
70 SSPCR0 = (0x00 << 8) | // SCR 设置SPI时钟分频
71 (0x01 << 7) | // CPHA 时钟输出相位,仅SPI模式有效
72 (0x01 << 6) | // CPOL 时钟输出极性,仅SPI模式有效
73 (0x00 << 4) | // FRF 帧格式 00=SPI,01=SSI,10=Microwire,11=保留
74 (0x07 << 0); // DSS 数据长度,0000-0010=保留,0011=4位,0111=8位,1111=16位
75
76 SSPCR1 = (0x00 << 3) | // SOD 从机输出禁能,1=禁止,0=允许
77 (0x00 << 2) | // MS 主从选择,0=主机,1=从机
78 (0x01 << 1) | // SSE SSP使能,1=允许SSP与其它设备通信
79 (0x00 << 0); // LBM 回写模式
80 // VICIntEnable = 1 << 11;
81
82 SSPCPSR = SPI1_CPSDVSR; // PCLK分频值
83 // SSPIMSC = 0x07; // 中断屏蔽寄存器
84 SSPICR = 0x03; // 中断清除寄存器
85 DisableSPI1Interrupt();
86 //Set1SPI1SSEL();
87 }
88
89 /***************************************************************************
90 [Function]:
91 [Input]:
92 [Output]:
93 [Note]:
94 ***************************************************************************/
95 uint32 IntStatus;
96 uint32 IntE;
97 uint32 SPmis;
98 uint32 SoftInt;
99 void SPI1_Exception(void){
100 uint32 sendByteNum = 2;
101 IntStatus = VICRawIntr;
102 IntE = VICIntEnable;
103 SoftInt = VICSoftInt;
104 SPmis = SSPMIS;
105
106 if (SSPMIS & 0x8){
107 SPI1Data.Timer = 10;
108 while((SSPSR&0x02) && (SPI1Data.Point<SPI1Data.Count)){
109 //发送FIFO未满且有要发送的数据
110 //SSPDR = SPI1Data.Buff[SPI1Data.Point++];
111 SSPDR = SPI1Data.Ptr_Buff[SPI1Data.Point];
112 sendByteNum++;
113 if (SPI1Data.Mode == SPI1_DATA_TX){
114 if (!--SPI1Data.AddressCnt){
115 SPI1Data.AddressCnt=4;
116 SPI1Data.Point++;
C51 COMPILER V8.08 INT 08/04/2008 21:49:57 PAGE 4
117 }
118 }
119 else {
120 SPI1Data.Point++;
121 }
122 }
123 if (SPI1Data.Point>=SPI1Data.Count){
124 SPI1Data.Mode = SPI1_TX_OK;
125 DisableSPI1Interrupt();
126 }
127 T1MR3 = T1TC + SPI1_CPSDVSR*8*sendByteNum;
128 }
129
130 VICVectAddr = 0x00;
131 }
132
133 /***************************************************************************
134 [Function]:SPI0_Init() 初始化SPI接口,设置为主机
135 [Input]:
136 [Output]:
137 [Note]:
138 ***************************************************************************/
139 void SPI0_Init(void){
140 PINSEL0 = (PINSEL0 &0xFFFF00FF) | 0x00001500; //设置引脚连接SPI
141 S0PCCR = 128; //设置SPI时钟分频= (11059200*2)/8=2764800Hz
142 S0PCR = (1 << 3) | //CPHA = 1,数据在SCK的第二个时钟沿采样
143 (1 << 4) | //CPOL=1,SCK为低有效
144 (1 << 5) | //MSTR=1,SPI处于主模式
145 (0 << 6) | //LSBF=0,SPI数据传输MSB(Bit7)在先
146 (1 << 7); //SPIE =1,开SPI中断
147
148 // VICVectCntl3 = (0x20 | SPI_INT_ID);//EINT2
149 // VICVectAddr3 = (uint32)IRQ_SPI;//
150
151 S0PINT = 1; //
152 EXTINT = 4;
153 VICIntEnable = (1 << SPI_INT_ID) | (1 << 16); //
154 PINSEL0 |= 3 << 14;
155 Set1SPI0SSEL();
156 SPI0Data.ptrBuff = SPI0Data.Buff;
157 SPI0Data.Busy = 0;
158 SPI0Data.Mode = SPI0_Idle;
159 SPI0Data.Count = 10;
160 // VICIntEnable = 1<<16;//外部中断2
161 }
162
163 /***************************************************************************
164 [Function]:
165 [Input]:
166 [Output]:
167 [Note]:
168 ***************************************************************************/
169 void SPI0_Exception(void)
170 {
171 uint16 temp;
172 temp = S0PSR;
173 S0PINT = 1;
174
175 if ((temp &(0x80 | 0x20)) || (VICSoftInt &(1 << SPI_INT_ID)))
176 {
177 temp = S0PDR;
178 if (SPI0Data.Point < SPI0Data.Count)
C51 COMPILER V8.08 INT 08/04/2008 21:49:57 PAGE 5
179 {
180 S0PDR = SPI0Data.Buff[SPI0Data.Point];
181 }
182 else
183 {
184 Set1SPI0SSEL();
185 }
186 SPI0Data.Buff[SPI0Data.Point++] = temp;
187 }
188 else if (temp &0x10){
189 //模式错误
190 S0PCR = 0xB8;
191
192 }
193
194 VICSoftIntClear = (1 << SPI_INT_ID); //清软中断
195 VICVectAddr = 0x00; // 中断处理结束
196 }
197
198
C51 COMPILATION COMPLETE. 4 WARNING(S), 59 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -