c: hi-tech 9,80, interrupt asm
Miroslav Draxal
evik na volny.cz
Neděle Březen 30 19:26:34 CEST 2014
Ještě jeden postřeh.
Void interruptME (void)@0x08
Bohužel to přeloží místo na interupt vektor na reset vektor??? (0x00)
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Miroslav
Draxal
Sent: Sunday, March 30, 2014 7:25 PM
To: 'HW-news'
Subject: RE: c: hi-tech 9,80, interrupt asm
Spojit asm s C není problém. Pokud chcete ptejte se. Problém je donutit
překladač aby mi dovolil konstrukci
Void MeInterrupt(void)@0x08
{
Asm("goto"_mojePreruseni");
}
A přeložil to na tu adresu 0x08 a né na 0x00. Míra
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Andrej
Jancura
Sent: Sunday, March 30, 2014 6:24 PM
To: HW-news
Subject: Re: c: hi-tech 9,80, interrupt asm
Dobry den,
s tymto Vasim problemom Vam moc neporadim. Skusal som spojit asm a c
zdrojaky, ale nejako som to z toho manualu moc nepochopil, a rozchodit sa mi
to nepodarilo. Tak som to nechal tak. Uplne by stacilo keby Microchip v tom
manualy dal jednocuchy priklad, ako to urobit.
A.
2014-03-29 20:49 GMT+01:00 Miroslav Draxal <evik na volny.cz>:
Dobrý den, založil jsem nové vlákno, ale má návaznost na předchozí vlákno.
Využívám u PICe přerušení s vysokou prioritou pro TMR3. Ovšem kompiler po
provedení přerušení uklízí zbytečně moc registrů.
5940 0009FA CFEA F03B movff fsr0h,??_interrupt_high+3
5941 0009FE CFE1 F03C movff fsr1l,??_interrupt_high+4
5942 000A02 CFE2 F03D movff fsr1h,??_interrupt_high+5
5943 000A06 CFD9 F03E movff fsr2l,??_interrupt_high+6
5944 000A0A CFDA F03F movff fsr2h,??_interrupt_high+7
5945 000A0E CFF3 F040 movff prodl,??_interrupt_high+8
5946 000A12 CFF4 F041 movff prodh,??_interrupt_high+9
5947 000A16 CFF6 F042 movff tblptrl,??_interrupt_high+10
5948 000A1A CFF7 F043 movff tblptrh,??_interrupt_high+11
5949 000A1E CFF8 F044 movff tblptru,??_interrupt_high+12
5950 000A22 CFF5 F045 movff tablat,??_interrupt_high+13
V obsluze přerušení s registry nepracuji, tudíš jejich schovávání je
zbytečné. Úschova a obnova trvá dost dlouho. Rád bych si napsal komplet
obsluhu přerušení v asm(cca 10 řádků). Celý den nad tím sedím a nedostal
jsem se ke kloudným výsledkům.
a/dá se nějak v C podstrčit moje obsluha interuptu? (snad by to mělo jít
přes PSECT???)
or
b/dá se v C vytvořit funkce, která má začátek v ram pevně daný (uložit na
008h goto interruptME)
díky za případné nakopnutí Míra
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140330/c1b0cb71/attachment.html>
Další informace o konferenci Hw-list