IAR C

Olen tajunnut sen itsekin.Se on melko hyvä ja mahdollistaa nopean kehityksen,
olen suorittanut IR comm hankkeen, koska ensimmäinen lähettämisestä.Saat pahamaineinen ASM ohjelmoijia, yksi helppo tapa tutustua ehdoton rekisterit on määritellä ne haihtuvat eli:
__no_init haihtuvien __bank0 unsigned char myReg @ 0x20; / / myReg EQU 0x20
Saat bittivastineen pääsy eli (BSF myReg, 2) sinun täytyy käyttää struct:
__no_init haihtuvien __bank0 unioni
(
unsigned char parityReg;
struct
(
unsigned char parityReg0: 1;
unsigned char parityReg1: 1;
unsigned char parityReg2: 1;
unsigned char parityReg3: 1;
unsigned char parityReg4: 1;
unsigned char parityReg5: 1;
unsigned char parityReg6: 1;
unsigned char parityReg7: 1;
);
) @ 0x2B;
Muuttuja ilmoituksia ei tarvitse aina on ilmoitettava haihtuvien mutta voidaan julistaa kuin paikalliset mukaan muuta toimintaa.
Kuten Pidin käsittelyssä olen
käyttänyt vähemmän inline ASM eli ASM ( "CLRW"),
jossa kääntäjä on todella hyvä, ja olen
havainnut, että olet alkanut ajatella enemmän C kuin ASM.
Muut asiat, jotka
olen kompastellut kun ovat keskeyttää toiminnot.Muistan käsittelyssä somwhere että toiminto ollessaan ISR ei voi palauttaa arvon, niin i käyttää emuloitu palata seuraavasti:
1) julistaa sinun toimintoa kutsutaan että ISR mitättömäksi
2) julistaa-bittivastineen pääsy-RETURN REKISTERÖIDY kuin edellä (tämän voi pitää boolean palata aseman 8-toiminnot)
3) ennen paluuta "siitä toiminto bittinen asettaa tai poistaa hieman RETURN REG tarpeen
4) omassa ISR tarkistaa tämän bittinen nähdä asema

 

Welcome to EDABoard.com

Sponsor

Back
Top