📄 main.lst
字号:
195 1 /// EBC is disabled
196 1 //// -----------------------------------------------------------------------
197 1 //// End of Important Settings for the Start-Up File
198 1 //// -----------------------------------------------------------------------
199 1
200 1
201 1 // -----------------------------------------------------------------------
202 1 // Initialization of the Peripherals:
203 1 // -----------------------------------------------------------------------
204 1
205 1 // initializes the TwinCAN Module (CAN)
206 1 CAN_vInit();
207 1
208 1 // USER CODE BEGIN (Init,3)
209 1
210 1 // USER CODE END
211 1
212 1 // globally enable interrupts
213 1 PSW_IEN = 1;
214 1
215 1 } // End of function MAIN_vInit
216
217
218 //****************************************************************************
219 // @Function void MAIN_vUnlockProtecReg(void)
220 //
221 //----------------------------------------------------------------------------
222 // @Description This function makes it possible to write one protected
223 // register. After calling of this function and write on the
224 // protected register is the security level set to low
225 // protected mode.
226 //
227 //----------------------------------------------------------------------------
228 // @Returnvalue None
229 //
230 //----------------------------------------------------------------------------
231 // @Parameters None
232 //
233 //----------------------------------------------------------------------------
234 // @Date 2006-12-10
235 //
236 //****************************************************************************
237
238 // USER CODE BEGIN (UnlockProtecReg,1)
239
240 // USER CODE END
241
C166 COMPILER V6.04, MAIN 12/10/2006 17:56:47 PAGE 5
242 void MAIN_vUnlockProtecReg(void)
243 {
244 1 ubyte ubPASSWORD;
245 1
246 1 if((SCUSLS & 0x1800) == 0x0800) // if low protected mode
247 1 {
248 2
249 2 ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 249 OF MAIN.C: '=': value truncated
250 2 ubPASSWORD = ~ubPASSWORD;
251 2 SCUSLC = 0x8E00 | ubPASSWORD; // command 4
252 2
253 2 } // end if low protected mode
254 1
255 1 if((SCUSLS & 0x1800) == 0x1800) // if write protected mode
256 1 {
257 2 SCUSLC = 0xAAAA; // command 0
258 2 SCUSLC = 0x5554; // command 1
259 2
260 2 ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 260 OF MAIN.C: '=': value truncated
261 2 ubPASSWORD = ~ubPASSWORD;
262 2
263 2 SCUSLC = 0x9600 | ubPASSWORD; // command 2
264 2 SCUSLC = 0x0800; // command 3; new PASSWOR is 0x00
265 2
266 2 ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 266 OF MAIN.C: '=': value truncated
267 2 ubPASSWORD = ~ubPASSWORD;
268 2 SCUSLC = 0x8E00 | ubPASSWORD; // command 4
269 2
270 2 } // end if write protected mode
271 1
272 1 } // End of function MAIN_vUnlockProtecReg
273
274
275 //****************************************************************************
276 // @Function void main(void)
277 //
278 //----------------------------------------------------------------------------
279 // @Description This is the main function.
280 //
281 //----------------------------------------------------------------------------
282 // @Returnvalue None
283 //
284 //----------------------------------------------------------------------------
285 // @Parameters None
286 //
287 //----------------------------------------------------------------------------
288 // @Date 2006-12-10
289 //
290 //****************************************************************************
291
292 // USER CODE BEGIN (Main,1)
293 int i,j;
294 void delayms(int k)
295 {
296 1 int i,j;
297 1 for(i=0;i<100;i++)
298 1 for(j=0;j<1000*k;j++)
299 1 {
300 2 }
C166 COMPILER V6.04, MAIN 12/10/2006 17:56:47 PAGE 6
301 1 }
302 ubyte ch1[6]="hello";
303 ubyte ch2[6]="world";
304
305 // USER CODE END
306
307 void main(void)
308 {
309 1 // USER CODE BEGIN (Main,2)
310 1
311 1 // USER CODE END
312 1
313 1 MAIN_vInit();
314 1
315 1 // USER CODE BEGIN (Main,4)
316 1 DP1L=0xff;
317 1 P1L=0xff;
318 1
319 1 while(1)
320 1 {
321 2 if(CAN_ubRequestMsgObj(1))//检验所选择的报文是否可以访问,即检验TXRQ
322 2 {
323 3 CAN_vLoadData(1,ch1); //将要发送的数据放入报文消息的数据区中
324 3 /* if(CAN_HWOBJ[0].ubData[0]=='h') //这是验证已经加载的数据存在在报文数据区的哪个地方
325 3 {
326 3 for(k=0;k<40000;k++)
327 3 P1L=0x00;
328 3 } */
329 3 CAN_vTransmit(1);// set TXRQ, reset CPUUPD,然后发送数据
330 3 /* if(CAN_ubNewData(0)) //这是一个验证是否发出数据的函数
331 3 {
332 3 if(CAN_HWOBJ[0].ubData[1]=='e')
333 3 {
334 3 for(k=0;k<40000;k++)
335 3 P1L=0x00;
336 3 }
337 3 } */
338 3 }
339 2 for(i=0;i<10000;i++)
340 2 for(j=0;j<500;j++);
341 2 if(CAN_ubRequestMsgObj(2))//检验所选择的报文是否可以访问,即检验TXRQ
342 2 {
343 3 CAN_vLoadData(2,ch2); //将要发送的数据放入报文消息的数据区中
344 3 /* if(CAN_HWOBJ[0].ubData[0]=='h') //这是验证已经加载的数据存在在报文数据区的哪个地方
345 3 {
346 3 for(k=0;k<40000;k++)
347 3 P1L=0x00;
348 3 } */
349 3 CAN_vTransmit(2);// set TXRQ, reset CPUUPD,然后发送数据
350 3 /* if(CAN_ubNewData(0)) //这是一个验证是否发出数据的函数
351 3 {
352 3 if(CAN_HWOBJ[0].ubData[1]=='e')
353 3 {
354 3 for(k=0;k<40000;k++)
355 3 P1L=0x00;
356 3 }
357 3 } */
358 3 }
359 2 for(i=0;i<10000;i++)
360 2 for(j=0;j<500;j++);
361 2 }
362 1 // USER CODE END
C166 COMPILER V6.04, MAIN 12/10/2006 17:56:47 PAGE 7
363 1
364 1 } // End of function main
365
366
367
368 // USER CODE BEGIN (MAIN_General,10)
369
370 // USER CODE END
371
MODULE INFORMATION: INITIALIZED UNINITIALIZED
CODE SIZE = 298 --------
NEAR-CONST SIZE = -------- --------
FAR-CONST SIZE = -------- --------
HUGE-CONST SIZE = -------- --------
XHUGE-CONST SIZE = -------- --------
NEAR-DATA SIZE = 16 --------
FAR-DATA SIZE = -------- --------
XHUGE-DATA SIZE = -------- --------
IDATA-DATA SIZE = -------- --------
SDATA-DATA SIZE = -------- --------
BDATA-DATA SIZE = -------- --------
HUGE-DATA SIZE = -------- --------
BIT SIZE = -------- --------
INIT'L SIZE = 20 --------
END OF MODULE INFORMATION.
C166 COMPILATION COMPLETE. 3 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -