[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