serial.lst
来自「dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,f」· LST 代码 · 共 1,452 行 · 第 1/5 页
LST
1,452 行
269 0016 7980 B L3
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 6
0017 0053'
270 0018 L4:
271 .line 9
272 ;>>>> case 0x07: { SCIHBAUD = 0x01;SCILBAUD = 0x03; break; }//19200
273 0018 b901 LACK 1
274 0019 bc00! LDPK _SCIHBAUD
275 001a 9000! SACL _SCIHBAUD
276 001b b903 LACK 3
277 001c bc00! LDPK _SCILBAUD
278 001d 9000! SACL _SCILBAUD
279 001e 7980 B L3
001f 0053'
280 0020 L5:
281 .line 10
282 ;>>>> case 0x08: { SCIHBAUD = 0x00;SCILBAUD = 0x81; break; }//38400
283 0020 b900 LACK 0
284 0021 bc00! LDPK _SCIHBAUD
285 0022 9000! SACL _SCIHBAUD
286 0023 b981 LACK 129
287 0024 bc00! LDPK _SCILBAUD
288 0025 9000! SACL _SCILBAUD
289 0026 7980 B L3
0027 0053'
290 0028 L6:
291 .line 11
292 ;>>>> case 0x09: { SCIHBAUD = 0x00;SCILBAUD = 0x56; break; }//57600
293 0028 b900 LACK 0
294 0029 bc00! LDPK _SCIHBAUD
295 002a 9000! SACL _SCIHBAUD
296 002b b956 LACK 86
297 002c bc00! LDPK _SCILBAUD
298 002d 9000! SACL _SCILBAUD
299 002e 7980 B L3
002f 0053'
300 0030 L7:
301 .line 12
302 ;>>>> case 0x0a: { SCIHBAUD = 0x00;SCILBAUD = 0x2a; break; }//115200
303 0030 b900 LACK 0
304 0031 bc00! LDPK _SCIHBAUD
305 0032 9000! SACL _SCIHBAUD
306 0033 b92a LACK 42
307 0034 bc00! LDPK _SCILBAUD
308 0035 9000! SACL _SCILBAUD
309 0036 7980 B L3
0037 0053'
310 0038 L8:
311 .line 13
312 ;>>>> default : { SCIHBAUD = 0x00;SCILBAUD = 0x81; break; }//38400
313 0038 b900 LACK 0
314 0039 bc00! LDPK _SCIHBAUD
315 003a 9000! SACL _SCIHBAUD
316 003b b981 LACK 129
317 003c bc00! LDPK _SCILBAUD
318 003d 9000! SACL _SCILBAUD
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 7
319 003e 7980 B L3
003f 0053'
320 0040 L1:
321 .line 6
322 0040 8b90 MAR *-
323 0041 6980 ZALS *
324 0042 ba06 SUBK 6
325 0043 e388 BZ L2
0044 0010'
326 0045 ba01 SUBK 1
327 0046 e388 BZ L4
0047 0018'
328 0048 ba01 SUBK 1
329 0049 e388 BZ L5
004a 0020'
330 004b ba01 SUBK 1
331 004c e388 BZ L6
004d 0028'
332 004e ba01 SUBK 1
333 004f e388 BZ L7
0050 0030'
334 0051 7980 B L8
0052 0038'
335 0053 L3:
336 .line 15
337 ;>>>> if(form==0) { SCICCR = 0x07; } //no parity
338 0053 8b8a MAR * ,AR2
339 0054 b202 LARK AR2,2
340 0055 8be0 MAR *0+
341 0056 1080 LAC *
342 0057 e308 BNZ L9
0058 005e'
343 0059 b907 LACK 7
344 005a bc00! LDPK _SCICCR
345 005b 9000! SACL _SCICCR
346 005c 7980 B L10
005d 0073'
347 005e L9:
348 .line 16
349 ;>>>> else if(form ==1){ SCICCR = 0x67; } //even parity
350 005e 1080 LAC *
351 005f ba01 SUBK 1
352 0060 e308 BNZ L11
0061 0067'
353 0062 b967 LACK 103
354 0063 bc00! LDPK _SCICCR
355 0064 9000! SACL _SCICCR
356 0065 7980 B L10
0066 0073'
357 0067 L11:
358 .line 17
359 ;>>>> else if(form ==2){ SCICCR = 0x27; } //odd parity
360 0067 1080 LAC *
361 0068 ba02 SUBK 2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 8
362 0069 e308 BNZ L12
006a 0070'
363 006b b927 LACK 39
364 006c bc00! LDPK _SCICCR
365 006d 9000! SACL _SCICCR
366 006e 7980 B L10
006f 0073'
367 0070 L12:
368 .line 18
369 ;>>>> else { SCICCR = 0x07; } //no parity
370 0070 b907 LACK 7
371 0071 bc00! LDPK _SCICCR
372 0072 9000! SACL _SCICCR
373 0073 L10:
374 .line 20
375 ;>>>> SCICTL1 = 0x03; /*发送器接收器使能*/
376 0073 b903 LACK 3
377 0074 bc00! LDPK _SCICTL1
378 0075 9000! SACL _SCICTL1
379 .line 21
380 ;>>>> SCICTL2 = 0x02; /*使能接收中断 */
381 0076 b902 LACK 2
382 0077 bc00! LDPK _SCICTL2
383 0078 9000! SACL _SCICTL2
384 .line 22
385 ;>>>> SCICTL1 |= 0x20; /*sw reset*/
386 0079 b920 LACK 32
387 007a bc00! LDPK _SCICTL1
388 007b 6d00! OR _SCICTL1
389 007c 9000! SACL _SCICTL1
390 .line 23
391 ;>>>> SCIPRI &= 0x87; /* high priority*/
392 007d b987 LACK 135
393 007e bc00! LDPK _SCIPRI
394 007f 6e00! AND _SCIPRI
395 0080 9000! SACL _SCIPRI
396 .line 24
397 ;>>>> MCRA |= 0x3; // configure iopa0,iopa1 as SCITXD,SCIRXD
398 0081 b903 LACK 3
399 0082 bc00! LDPK _MCRA
400 0083 6d00! OR _MCRA
401 0084 9000! SACL _MCRA
402 .line 25
403 ;>>>> IMR |= 0x01;
404 0085 b901 LACK 1
405 0086 bc00! LDPK _IMR
406 0087 6d00! OR _IMR
407 0088 9000! SACL _IMR
408 .line 26
409 ;>>>> IFR = 0xffff; //clr all flag
410 0089 bc00! LDPK _IFR
411 008a ae00! SPLK #-1,_IFR
008b ffff
412 .line 28
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 9
413 ;>>>> pcdata[0] = 0x05;pcdata[1] = 0x44; /*测试数据*/
414 008c b905 LACK 5
415 008d bc00! LDPK _pcdata
416 008e 9000! SACL _pcdata
417 008f b944 LACK 68
418 0090 bc00! LDPK _pcdata+1
419 0091 9001! SACL _pcdata+1
420 .line 29
421 ;>>>> pcdata[2] = 0x33;pcdata[3] = 0x22;
422 0092 b933 LACK 51
423 0093 bc00! LDPK _pcdata+2
424 0094 9002! SACL _pcdata+2
425 0095 b922 LACK 34
426 0096 bc00! LDPK _pcdata+3
427 0097 9003! SACL _pcdata+3
428 .line 30
429 ;>>>> pcdata[4] = 0x11;
430 0098 b911 LACK 17
431 0099 bc00! LDPK _pcdata+4
432 009a 9004! SACL _pcdata+4
433 .line 32
434 ;>>>> status_rx = 0;
435 009b b900 LACK 0
436 009c bc00! LDPK _status_rx
437 009d 9000! SACL _status_rx
438 .line 33
439 ;>>>> testSerialOutput(); //test Serial Output
440 009e 7a89 CALL _testSerialOutput,AR1
009f 00a4'
441 00a0 EPI0_1:
442 .line 34
443 00a0 7c04 SBRK 4
444 00a1 0090 LAR AR0,*-
445 00a2 7680 PSHD *
446 00a3 ef00 RET
447
448 .endfunc 75,000000000H,3
449
450 .sym _testSerialOutput,_testSerialOutput,32,2,0
451 .globl _testSerialOutput
452
453 .func 78
454 ;>>>> void testSerialOutput() // initial serial port testing
455 ;>>>> uchar i;
456 ******************************************************
457 * FUNCTION DEF : _testSerialOutput
458 ******************************************************
459 00a4 _testSerialOutput:
460 00a4 8aa0 POPD *+
461 00a5 80a0 SAR AR0,*+
462 00a6 8180 SAR AR1,*
463 00a7 b002 LARK AR0,2
464 00a8 00ea LAR AR0,*0+,AR2
465
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 10
466 .sym _i,1,12,1,16
467 .line 4
468 ;>>>> for(i=0;i<pcdata[0];i++)
469 00a9 b900 LACK 0
470 00aa b201 LARK AR2,1
471 00ab 8be0 MAR *0+
472 00ac 9080 SACL *
473 00ad 6980 ZALS *
474 00ae bc00! LDPK _pcdata
475 00af 6600! SUBS _pcdata
476 00b0 e38c BGEZ L14
00b1 00c6'
477 00b2 L13:
478 .line 5
479 ;>>>> serialPortOutput1byte(pcdata[i]);
480 00b2 1088 LAC * ,AR0
481 00b3 bf90 ADLK _pcdata+0,0
00b4 0000!
482 00b5 9080 SACL *
483 00b6 038b LAR AR3,* ,AR3
484 00b7 1089 LAC * ,AR1
485 00b8 90a0 SACL *+
486 00b9 7a80 CALL _serialPortOutput1byte
00ba 00cb'
487 00bb 8b9a MAR *-,AR2
488 .line 4
489 00bc b201 LARK AR2,1
490 00bd 8be0 MAR *0+
491 00be 1080 LAC *
492 00bf b801 ADDK 1
493 00c0 9080 SACL *
494 00c1 6980 ZALS *
495 00c2 bc00! LDPK _pcdata
496 00c3 6600! SUBS _pcdata
497 00c4 e344 BLZ L13
00c5 00b2'
498 00c6 L14:
499 00c6 EPI0_2:
500 .line 6
501 00c6 8b89 MAR * ,AR1
502 00c7 7c03 SBRK 3
503 00c8 0090 LAR AR0,*-
504 00c9 7680 PSHD *
505 00ca ef00 RET
506
507 .endfunc 83,000000000H,2
508
509 .sym _serialPortOutput1byte,_serialPortOutput1byte,32,2,0
510 .globl _serialPortOutput1byte
511
512 .func 85
513 ;>>>> void serialPortOutput1byte(uchar c)
514 ******************************************************
515 * FUNCTION DEF : _serialPortOutput1byte
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?