📄 can_module.lis
字号:
0286 ; write_sja(BTR1, SJA_BTR_CODETAB[BaudRateSize*2 + 1]);
0286 82E0 ldi R24,2
0288 8A9D mul R24,R10
028A F001 movw R30,R0
028C 80E0 ldi R24,<_SJA_BTR_CODETAB+1
028E 90E0 ldi R25,>_SJA_BTR_CODETAB+1
0290 E80F add R30,R24
0292 F91F adc R31,R25
0294 2081 ldd R18,z+0
0296 07E0 ldi R16,7
0298 C0DE xcall _write_sja
029A .dbline 268
029A ; if(read_sja(BTR1) != SJA_BTR_CODETAB[BaudRateSize*2 + 1])
029A 07E0 ldi R16,7
029C B1DE xcall _read_sja
029E 82E0 ldi R24,2
02A0 8A9D mul R24,R10
02A2 F001 movw R30,R0
02A4 80E0 ldi R24,<_SJA_BTR_CODETAB+1
02A6 90E0 ldi R25,>_SJA_BTR_CODETAB+1
02A8 E80F add R30,R24
02AA F91F adc R31,R25
02AC 2080 ldd R2,z+0
02AE 0215 cp R16,R2
02B0 09F0 breq L77
02B2 .dbline 269
02B2 ; {
02B2 .dbline 270
02B2 ; continue;
02B2 02C0 xjmp L72
02B4 L77:
02B4 .dbline 272
02B4 4427 clr R20
02B6 .dbline 273
02B6 06C0 xjmp L73
02B8 L72:
02B8 .dbline 258
02B8 862F mov R24,R22
02BA 8150 subi R24,1
02BC 682F mov R22,R24
02BE 8823 tst R24
02C0 09F0 breq X6
02C2 C9CF xjmp L71
02C4 X6:
02C4 L73:
02C4 .dbline 275
02C4 ; }
02C4 ; Err_Flag = FALSE;
02C4 ; break;
02C4 ; }
02C4 ; }
02C4 L70:
02C4 .dbline 276
02C4 ; return Err_Flag;
02C4 042F mov R16,R20
02C6 .dbline -2
02C6 L68:
02C6 0E940000 xcall pop_gset3
02CA .dbline 0 ; func end
02CA 0895 ret
02CC .dbsym r Err_Flag 20 c
02CC .dbsym r Err_Cnt 22 c
02CC .dbsym r BaudRateSize 10 c
02CC .dbend
02CC .dbfunc e SJASetOtherReg _SJASetOtherReg fc
02CC ; Err_Flag -> R20
02CC ; Err_Cnt -> R22
.even
02CC _SJASetOtherReg::
02CC 0E940000 xcall push_gset2
02D0 .dbline -1
02D0 .dbline 327
02D0 ;
02D0 ; }
02D0 ;
02D0 ; /*void SJAWriteDataToTxBuf(unsigned char Num, unsigned char Data)
02D0 ; {
02D0 ; switch(Num)
02D0 ; {
02D0 ; case 0:
02D0 ; TX_Buffer[0] = Data;
02D0 ; break;
02D0 ; case 1:
02D0 ; TX_Buffer[1] = Data;
02D0 ; break;
02D0 ; case 2:
02D0 ; TX_Buffer[2] = Data;
02D0 ; break;
02D0 ; case 3:
02D0 ; TX_Buffer[3] = Data;
02D0 ; break;
02D0 ; case 4:
02D0 ; TX_Buffer[4] = Data;
02D0 ; break;
02D0 ; case 5:
02D0 ; TX_Buffer[5] = Data;
02D0 ; break;
02D0 ; case 6:
02D0 ; TX_Buffer[6] = Data;
02D0 ; break;
02D0 ; case 7:
02D0 ; TX_Buffer[7] = Data;
02D0 ; break;
02D0 ; case 8:
02D0 ; TX_Buffer[8] = Data;
02D0 ; break;
02D0 ; case 9:
02D0 ; TX_Buffer[9] = Data;
02D0 ; break;
02D0 ; case 10:
02D0 ; TX_Buffer[10] = Data;
02D0 ; break;
02D0 ; case 11:
02D0 ; TX_Buffer[11] = Data;
02D0 ; break;
02D0 ; case 12:
02D0 ; TX_Buffer[12] = Data;
02D0 ; break;
02D0 ; }
02D0 ; }*/
02D0 ;
02D0 ; unsigned char SJASetOtherReg(void)
02D0 ; {
02D0 .dbline 328
02D0 ; unsigned char Err_Cnt = 0x20;
02D0 60E2 ldi R22,32
02D2 .dbline 329
02D2 ; unsigned char Err_Flag = TRUE;
02D2 41E0 ldi R20,1
02D4 .dbline 331
02D4 ;
02D4 ; if(SJATestRstMode())
02D4 F7DE xcall _SJATestRstMode
02D6 0023 tst R16
02D8 31F1 breq L84
02DA .dbline 332
02DA ; {
02DA .dbline 333
02DA ; Err_Flag = TRUE;
02DA .dbline 334
02DA ; }
02DA 2AC0 xjmp L82
02DC X7:
02DC .dbline 336
02DC ; else
02DC ; {
02DC L83:
02DC .dbline 338
02DC ; while(--Err_Cnt)
02DC ; {
02DC .dbline 339
02DC ; write_sja(RXERR,0x00);
02DC 2227 clr R18
02DE 0EE0 ldi R16,14
02E0 9CDE xcall _write_sja
02E2 .dbline 340
02E2 ; if(read_sja(RXERR) != 0x00)
02E2 0EE0 ldi R16,14
02E4 8DDE xcall _read_sja
02E6 0023 tst R16
02E8 09F0 breq L86
02EA .dbline 341
02EA ; {
02EA .dbline 342
02EA ; continue;
02EA 1DC0 xjmp L84
02EC L86:
02EC .dbline 345
02EC ; }
02EC ;
02EC ; Err_Cnt = 0x20;
02EC 60E2 ldi R22,32
02EE .dbline 346
02EE ; write_sja(TXERR,0x00);;
02EE 2227 clr R18
02F0 0FE0 ldi R16,15
02F2 93DE xcall _write_sja
02F4 .dbline 346
02F4 .dbline 347
02F4 ; if(read_sja(TXERR) != 0x00)
02F4 0FE0 ldi R16,15
02F6 84DE xcall _read_sja
02F8 0023 tst R16
02FA 09F0 breq L88
02FC .dbline 348
02FC ; {
02FC .dbline 349
02FC ; continue;
02FC 14C0 xjmp L84
02FE L88:
02FE .dbline 352
02FE ; }
02FE ;
02FE ; Err_Cnt = 0x20;
02FE 60E2 ldi R22,32
0300 .dbline 353
0300 ; write_sja(ECC,0x00);
0300 2227 clr R18
0302 0CE0 ldi R16,12
0304 8ADE xcall _write_sja
0306 .dbline 354
0306 ; if(read_sja(ECC) != 0x00)
0306 0CE0 ldi R16,12
0308 7BDE xcall _read_sja
030A 0023 tst R16
030C 09F0 breq L90
030E .dbline 355
030E ; {
030E .dbline 356
030E ; continue;
030E 0BC0 xjmp L84
0310 L90:
0310 .dbline 359
0310 ; }
0310 ;
0310 ; Err_Cnt = 0x20;
0310 60E2 ldi R22,32
0312 .dbline 360
0312 ; write_sja(RBSA,0x00);;
0312 2227 clr R18
0314 0EE1 ldi R16,30
0316 81DE xcall _write_sja
0318 .dbline 360
0318 .dbline 361
0318 ; if(read_sja(RBSA) != 0x00)
0318 0EE1 ldi R16,30
031A 72DE xcall _read_sja
031C 0023 tst R16
031E 09F0 breq L92
0320 .dbline 362
0320 ; {
0320 .dbline 363
0320 ; continue;
0320 02C0 xjmp L84
0322 L92:
0322 .dbline 366
0322 4427 clr R20
0324 .dbline 367
0324 05C0 xjmp L85
0326 L84:
0326 .dbline 337
0326 862F mov R24,R22
0328 8150 subi R24,1
032A 682F mov R22,R24
032C 8823 tst R24
032E B1F6 brne L83
0330 L85:
0330 .dbline 369
0330 ; }
0330 ;
0330 ; Err_Flag = FALSE;
0330 ; break;
0330 ; }
0330 ; }
0330 L82:
0330 .dbline 370
0330 ; return Err_Flag;
0330 042F mov R16,R20
0332 .dbline -2
0332 L80:
0332 0E940000 xcall pop_gset2
0336 .dbline 0 ; func end
0336 0895 ret
0338 .dbsym r Err_Flag 20 c
0338 .dbsym r Err_Cnt 22 c
0338 .dbend
0338 .dbfunc e SJASetIER _SJASetIER fc
0338 ; Err_Flag -> R20
0338 ; Err_Cnt -> R22
0338 ; value -> R10
.even
0338 _SJASetIER::
0338 0E940000 xcall push_gset3
033C A02E mov R10,R16
033E .dbline -1
033E .dbline 374
033E ; }
033E ;
033E ; unsigned char SJASetIER(unsigned char value)
033E ; {
033E .dbline 375
033E ; unsigned char Err_Cnt = 0x20;
033E 60E2 ldi R22,32
0340 .dbline 376
0340 ; unsigned char Err_Flag = TRUE;
0340 41E0 ldi R20,1
0342 09C0 xjmp L96
0344 L95:
0344 .dbline 385
0344 ;
0344 ; /*if(SJATestRstMode())
0344 ; {
0344 ; Err_Flag = TRUE;
0344 ; }
0344 ; else*/
0344 ; //{
0344 ; while(--Err_Cnt)
0344 ; {
0344 .dbline 386
0344 ; write_sja(IER, value);
0344 2A2D mov R18,R10
0346 04E0 ldi R16,4
0348 68DE xcall _write_sja
034A .dbline 387
034A ; if(read_sja(IER) == value)
034A 04E0 ldi R16,4
034C 59DE xcall _read_sja
034E 0A15 cp R16,R10
0350 11F4 brne L98
0352 .dbline 388
0352 ; {
0352 .dbline 389
0352 ; Err_Flag = FALSE;
0352 4427 clr R20
0354 .dbline 390
0354 ; break;
0354 05C0 xjmp L97
0356 L98:
0356 .dbline 392
0356 L96:
0356 .dbline 384
0356 862F mov R24,R22
0358 8150 subi R24,1
035A 682F mov R22,R24
035C 8823 tst R24
035E 91F7 brne L95
0360 L97:
0360 .dbline 394
0360 ; }
0360 ; }
0360 ; //}
0360 ; return Err_Flag;
0360 042F mov R16,R20
0362 .dbline -2
0362 L94:
0362 0E940000 xcall pop_gset3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -