[elektro] HT PICC18 problema
Moczik Gabor
pm_levlista at progzmaster.hu
Thu Jan 15 17:19:17 CET 2009
potyo wrote:
> Mi a helyzet a regiszterek mentésével? Ha megszakítási rutinból
> függvényt hívsz, akkor akár feleslegesen is elmentheti az FSRx
> regiszterekt, a hardveres szorzó regisztereit, stb.
Most rögtön írni akartam, hogy van más függvény hívás is az ISR-ben, de
közben átnéztem, és valóban nincs. Holnap kipróbálom mi van ha beteszek
máshová egy függvényhívást. Meg mi van ha mondjuk átteszem az egész soros
port kezelést low priority isr-be. Mindenesetre elég érdekes.
A működő verzió:
3461 00140E C4D9 FFF3 movff saved_regsl+0,prodl
3462 001412 C4DA FFF4 movff saved_regsl+1,prodh
3463 001416 C4DB FFF5 movff saved_regsl+2,tablat
3464 00141A C4DC FFF6 movff saved_regsl+3,tblptrl
3465 00141E C4DD FFF7 movff saved_regsl+4,tblptrh
3466 001422 C4DE F000 movff saved_regsl+5,btemp
3467 001426 C4DF F001 movff saved_regsl+6,btemp+1
3468 00142A C4E0 F002 movff saved_regsl+7,btemp+2
3469 00142E C4E1 F003 movff saved_regsl+8,btemp+3
3470 001432 C4E2 F004 movff saved_regsl+9,btemp+4
3471 001436 C4E3 F005 movff saved_regsl+10,btemp+5
3472 00143A C4E4 F006 movff saved_regsl+11,btemp+6
3473 00143E C4E5 F007 movff saved_regsl+12,btemp+7
3474 001442 C4E6 F008 movff saved_regsl+13,btemp+8
3475 001446 C4E7 F009 movff saved_regsl+14,btemp+9
3476 00144A C4E8 F00A movff saved_regsl+15,btemp+10
3477 00144E C4E9 F00B movff saved_regsl+16,btemp+11
3478 001452 C4EA F00C movff saved_regsl+17,btemp+12
3479 001456 C4EB F00D movff saved_regsl+18,btemp+13
3480 00145A C4EC F00E movff saved_regsl+19,btemp+14
3481 00145E C4ED FFDA movff saved_regsl+20,fsr2h
3482 001462 C4EE FFD9 movff saved_regsl+21,fsr2l
3483 001466 C4EF FFE2 movff saved_regsl+22,fsr1h
3484 00146A C4F0 FFE1 movff saved_regsl+23,fsr1l
3485 00146E C4F1 FFEA movff saved_regsl+24,fsr0h
3486 001472 C4F2 FFE9 movff saved_regsl+25,fsr0l
3487 001476 C4F3 FFE8 movff saved_regsl+26,wreg
3488 00147A C4F4 FFFA movff saved_regsl+27,pclath
3489 00147E C010 FFE0 movff saved_bsrl,bsr
3490 001482 C4F5 FFD8 movff saved_regsl+28,status
3491 001486 0010 retfie
3492 001488 FFFF dw 0FFFFh
A nem működő:
3387 0013A6 C4E5 FFF3 movff saved_regsh+0,prodl
3388 0013AA C4E6 FFF4 movff saved_regsh+1,prodh
3389 0013AE C4E7 FFF5 movff saved_regsh+2,tablat
3390 0013B2 C4E8 FFF6 movff saved_regsh+3,tblptrl
3391 0013B6 C4E9 FFF7 movff saved_regsh+4,tblptrh
3392 0013BA C4EA F000 movff saved_regsh+5,btemp
3393 0013BE C4EB F001 movff saved_regsh+6,btemp+1
3394 0013C2 C4EC F002 movff saved_regsh+7,btemp+2
3395 0013C6 C4ED F003 movff saved_regsh+8,btemp+3
3396 0013CA C4EE F004 movff saved_regsh+9,btemp+4
3397 0013CE C4EF F005 movff saved_regsh+10,btemp+5
3398 0013D2 C4F0 F006 movff saved_regsh+11,btemp+6
3399 0013D6 C4F1 F007 movff saved_regsh+12,btemp+7
3400 0013DA C4F2 F008 movff saved_regsh+13,btemp+8
3401 0013DE C4F3 F009 movff saved_regsh+14,btemp+9
3402 0013E2 C4F4 F00A movff saved_regsh+15,btemp+10
3403 0013E6 C4F5 F00B movff saved_regsh+16,btemp+11
3404 0013EA C4F6 F00C movff saved_regsh+17,btemp+12
3405 0013EE C4F7 F00D movff saved_regsh+18,btemp+13
3406 0013F2 C4F8 F00E movff saved_regsh+19,btemp+14
3407 0013F6 C4F9 FFDA movff saved_regsh+20,fsr2h
3408 0013FA C4FA FFD9 movff saved_regsh+21,fsr2l
3409 0013FE C4FB FFE2 movff saved_regsh+22,fsr1h
3410 001402 C4FC FFE1 movff saved_regsh+23,fsr1l
3411 001406 C4FD FFEA movff saved_regsh+24,fsr0h
3412 00140A C4FE FFE9 movff saved_regsh+25,fsr0l
3413 00140E C4FF FFFA movff saved_regsh+26,pclath
3414 001412 0011 retfie f
3415 001414 FFFF dw 0FFFFh
> Amúgy minek ez az rs232_receive(ii), amikor már egyszer kiolvasod az RCREG-et?
Az végzi a fogadott byte kommunikációs protokoll szerinti feldolgozását.
Egyébként nem is tudom minek tettem bele az ii változót,
{ rs232_receive(RCREG); RCIF=0; } is jó lett volna. :-)
--
((( Móczik Gábor )))--((( E~mail: "pm-01" @AT "progzmaster" .DOT "hu" )))
((( Skype: moczik )))
More information about the Elektro
mailing list