📄 debug.lst
字号:
C51 COMPILER V7.50 DEBUG 03/18/2008 22:29:05 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DEBUG
OBJECT MODULE PLACED IN ..\1out\DEBUG.obj
COMPILER INVOKED BY: D:\设计软件\Keil\C51\BIN\C51.EXE ..\KERNEL\DEBUG.C BROWSE INCDIR(..\INC\;..\PANEL\;..\UI\;..\OPTION
-\;..\SCALER\DSP\) DEFINE(MCU_TYPE_SEL=0) DEBUG OBJECTEXTEND PRINT(..\1out\DEBUG.lst) OBJECT(..\1out\DEBUG.obj)
line level source
1 /******************************************************************************
2 Copyright (c) 2005 MStar Semiconductor, Inc.
3 All rights reserved.
4
5 [Module Name]: Debug.c
6 [Date]: 12-Jan-2005
7 [Comment]:
8 RS232 Debug Message Functions.
9 [Reversion History]:
10 *******************************************************************************/
11
12 #define _DEBUG_C_
13 /********************
14 * INCLUDE FILES *
15 *********************/
16 //#include <intrins.h>
17 #include "Project.h"
18 #include "TypeDef.h"
19 #include "Mcu_reg.h"
20 #include "Mcu.h"
21 #include "Ms_RWreg.h"
22 #include "Global.h"
23 #include "Debug.h"
24 #include "I2C.h"
25 #include "Ms_Func.h"
26 #include "Ms7X_reg.h"
27
28 #if RS232DBG
29 /********************
30 * STATIC DATA *
31 *********************/
32 #if USEXDATABUFF
33 XDATA BYTE g_ucUartBuffer[SIZE232];
34 XDATA WORD g_uwUartTxPtr, g_uwUartWritePtr;
35 XDATA BYTE g_ucUartRxFlag = 0;
36 XDATA BYTE g_ucUartTxFlag = 0;
37 XDATA BYTE g_ucRcvCmd[RCV_232_CMDW_LEN];
38 XDATA WORD g_uwRcvIndex = 0;
39 XDATA BYTE g_ucRV232cmdFlag = 0;
40 BYTE code tChangeLine[3] = "\x0d\x0a";
41 #else
WORD g_uwUartTxPtr, g_uwUartWritePtr;
BYTE g_ucUartRxFlag = 0;
BYTE g_ucUartTxFlag = 0;
BYTE g_ucRcvCmd[RCV_232_CMDW_LEN];
WORD g_uwRcvIndex = 0;
BYTE g_ucRV232cmdFlag = 0;
BYTE code tChangeLine[3] = "\x0d\x0a";
#endif //USEXDATABUFF
50
51 /**********************
52 * FUNCTION PROTOTYPES *
53 ***********************/
54 #if !USEXDATABUFF
C51 COMPILER V7.50 DEBUG 03/18/2008 22:29:05 PAGE 2
void sysWriteUartOneByte(BYTE dat)
{
BYTE ucTemp;
ucTemp=IE;
EA=0;
TI=0;
SBUF=dat;
while(TI==0);
TI=0;
IE=ucTemp;
}
void sysWriteUartOneWord(WORD dat)
{
BYTE ucTemp;
ucTemp=IE;
EA=0;
TI=0;
SBUF=HI_BYTE(dat);
while(TI==0);
TI=0;
SBUF=LO_BYTE(dat);
while(TI==0);
TI=0;
IE=ucTemp;
}
#else //USEXDATABUFF
85 unsigned int sysCheckUartBuffer(void)
86 {
87 1 if (((g_uwUartWritePtr+1)%SIZE232)==g_uwUartTxPtr)
88 1 return FULL232;
89 1
90 1 if (g_uwUartTxPtr==g_uwUartWritePtr)
91 1 return EMPTY232; //buffer empty
92 1
93 1 if (g_uwUartWritePtr>g_uwUartTxPtr)
94 1 return(SIZE232-(g_uwUartWritePtr-g_uwUartTxPtr)-1);
95 1
96 1 if (g_uwUartWritePtr<g_uwUartTxPtr)
97 1 return(g_uwUartTxPtr-g_uwUartWritePtr-1);
98 1 }
99
100 void sysWriteUartOneByte(BYTE dat)
101 {
102 1 if (sysCheckUartBuffer()<=1) return; //Full
103 1
104 1 g_ucUartBuffer[g_uwUartWritePtr]=dat;
105 1 g_uwUartWritePtr=(g_uwUartWritePtr+1)%SIZE232;
106 1
107 1 if (g_ucUartTxFlag==0)
108 1 {
109 2 sysTxUartOneByte(); //triger transfer
110 2 }
111 1 }
112
113 void sysWriteUartOneWord(WORD dat)
114 {
115 1 if(sysCheckUartBuffer()<=2)
116 1 return; //Full
C51 COMPILER V7.50 DEBUG 03/18/2008 22:29:05 PAGE 3
117 1
118 1 g_ucUartBuffer[g_uwUartWritePtr]=HI_BYTE(dat);
119 1 g_uwUartWritePtr=(g_uwUartWritePtr+1)%SIZE232;
120 1 g_ucUartBuffer[g_uwUartWritePtr]=LO_BYTE(dat);
121 1 g_uwUartWritePtr=(g_uwUartWritePtr+1)%SIZE232;
122 1
123 1 if (g_ucUartTxFlag==0)
124 1 {
125 2 sysTxUartOneByte(); //triger transfer
126 2 }
127 1 }
128
129 void sysTxUartOneByte(void)
130 {
131 1 BYTE ucDat;
132 1
133 1 TI=0;
134 1 g_ucUartTxFlag=0;
135 1
136 1 if (sysCheckUartBuffer()==EMPTY232)
137 1 return; //buffer empty
138 1
139 1 ucDat=g_ucUartBuffer[g_uwUartTxPtr];
140 1 g_uwUartTxPtr=(g_uwUartTxPtr+1)%SIZE232;
141 1 SBUF=ucDat;
142 1 g_ucUartTxFlag=1;
143 1 }
144 #endif //USEXDATABUFF
145 //-----------------------------------------------------------------------------------
146
147 /*void Release_232(void)
148 {
149 g_ucUartRxFlag=0;
150 }*/
151
152 void sysWriteString(BYTE *str)
153 {
154 1 while(*str!='\0')
155 1 {
156 2 sysWriteUartOneByte(*str);
157 2 str++;
158 2 }
159 1 }
160
161 void sysWriteHex(BYTE dt,bit h)
162 {
163 1 BYTE ucDat;
164 1
165 1 ucDat=dt;
166 1
167 1 if ((ucDat&0xf0)>=0xa0) // convert high nibble
168 1 {
169 2 ucDat>>=4;
170 2 ucDat+=55;
171 2 }
172 1 else
173 1 {
174 2 ucDat>>=4;
175 2 ucDat+=0x30;
176 2 }
177 1
178 1 sysWriteUartOneByte(ucDat);
C51 COMPILER V7.50 DEBUG 03/18/2008 22:29:05 PAGE 4
179 1
180 1 ucDat=dt&0x0f;
181 1
182 1 if (ucDat>=0x0a) // convert low nibble
183 1 {
184 2 ucDat+=55;
185 2 }
186 1 else
187 1 {
188 2 ucDat+=0x30;
189 2 }
190 1 sysWriteUartOneByte(ucDat);
191 1
192 1 if(h)
193 1 sysWriteUartOneByte('h');
194 1 }
195
196 void sysWriteUartHex4(WORD dt, bit h)
197 {
198 1 BYTE ucDat;
199 1 BYTE i;
200 1
201 1 for (i=4; i>0; i--)
202 1 {
203 2 ucDat=(unsigned char)(dt>>((i-1)*4));
204 2 ucDat=ucDat&0x0f;
205 2
206 2 if (ucDat>=0x0a)
207 2 { //convert low nibble
208 3 ucDat+=55;
209 3 }
210 2 else
211 2 {
212 3 ucDat+=0x30;
213 3 }
214 2
215 2 sysWriteUartOneByte(ucDat);
216 2 }
217 1
218 1 if(h)
219 1 sysWriteUartOneByte('h');
220 1 }
221
222 void sysWriteDec(WORD dt)
223 {
224 1 BYTE ucDat;
225 1 WORD i;
226 1 BYTE ucFz;
227 1
228 1 ucFz=0;
229 1
230 1 for (i=10000; i>0; i/=10)
231 1 {
232 2 ucDat=(unsigned char)(dt/i);
233 2
234 2 if (ucFz==0)
235 2 {
236 3 if (ucDat!=0) ucFz=1;
237 3 }
238 2
239 2 if (ucFz)
240 2 {
C51 COMPILER V7.50 DEBUG 03/18/2008 22:29:05 PAGE 5
241 3 dt=dt-ucDat*i;
242 3 if (ucDat>=0x0a)
243 3 {
244 4 ucDat+=55;
245 4 }
246 3 else
247 3 {
248 4 ucDat+=0x30;
249 4 }
250 3
251 3 sysWriteUartOneByte(ucDat);
252 3 }
253 2 }
254 1
255 1 if (ucFz==0)
256 1 sysWriteUartOneByte('0');
257 1 }
258
259 void sysWriteUartDec6(DWORD dt)
260 {
261 1 BYTE ucDat;
262 1 DWORD i;
263 1 BYTE ucFz;
264 1
265 1 ucFz=0;
266 1
267 1 for (i=1000000000; i>0; i/=10)
268 1 {
269 2 ucDat=(unsigned char)(dt/i);
270 2
271 2 if (ucFz==0)
272 2 {
273 3 if(ucDat!=0)
274 3 ucFz=1;
275 3 }
276 2
277 2 if (ucFz)
278 2 {
279 3 dt=dt-ucDat*i;
280 3 if(ucDat>=0x0a)
281 3 {
282 4 ucDat+=55;
283 4 }
284 3 else
285 3 {
286 4 ucDat+=0x30;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -