[REQ] Hi-Tech PICC18 un pārtraukt PRIORITĀTE PIEMĒRS

M

mrcube_ns

Guest
Hi all,

Lūdzu, man ir nepieciešams neliels piemērs, kā padarīt High un zema pārtraukt ar PIC18F4550, izmantojot Hi-Tech PICC18.Visi mani mēģinājumi ir beigusies ar apkopošanu kļūdu 845 vai līdzīgu.Man vajag šo:
Hi pārtraukt būtu Ārējās RB0 pārtraukt.
Lo pārtraukt jābūt sistēmai taimeris pārtraukt 10ms.Bet, jebkurā darba piemērs ir apsveicami uz PICC18Paldies jau iepriekš!!

Best regards,

Mr.Cube

 
Es succedded un everuthing darba Labi.
Ap politiku tiek darīts Hi-tech PICC-18 STD v9.51

Šeit ir piemērs darba Sveiki (RB0 ārējā) un Lo (TMR1 periodiska) prioritāte pārtrauc:

Kods:# Ietvert <htc.H>

# Define PORTBIT (ADR, bit) ((unsigned) (un ADR) * 8 (bit))statiskā bit led_main @ PORTBIT (PORTD, 1);

statiskā bit led_int_hi @ PORTBIT (PORTD, 2);

statiskā bit led_int_lo @ PORTBIT (PORTD, 3);

statiskā bitu @ PORTBIT (PORTB, 0);statiskā neparakstīts int j, k;galvenais (spēkā neesošs) (

int i;

GIEH = 1;

GIEL = 1;

IPEN = 1;/ / Taimera 1 pārtraukt 10ms

TMR1H = 0xD8;

TMR1L = 0xF0;

TMR1IE = 1;

T1CON = 0b00001001;

TMR1IP = 0;

TMR1ON = 1;

TMR1IF = 0;/ / RB0 pārtraukt uz pozitīvo malu

INTEDG0 = 1;

INT0IF = 0;

INT0IE = 1;TRISB = 0x01;

TRISD = 0;led_int_hi = led_int_lo = 0;kamēr (1) (

/ / Izraisīja dzīvas

if ( i> 1000) (

i = 0;

ja (led_main)

led_main = 0;

vēl

led_main = 1;

)

)) / / End of galveno/ / Zema prioritāte pārtraukt - TMR1 ar 10ms ciklu

spēkā pārtraukt low_priority lowISR () (

ja (TMR1IF) (

TMR1ON = 0;

TMR1IF = 0;

/ / 10ms

TMR1H = 0xD8;

TMR1L = 0xF0;

TMR1ON = 1;/ / Low pārtraukt izraisīja dzīvas

if ( j> 10) (

j = 0;

ja (led_int_lo)

led_int_lo = 0;

vēl

led_int_lo = 1;

)

)

) / / End of LO pārtraukt/ / HIGH prioritāte pārtraukt

par spēkā neesošu pārtraukt highISR () (ja (INT0IF) (

INT0IF = 0;/ / HIGH prioritāte LED indikators

ja (led_int_hi)

led_int_hi = 0;

vēl

led_int_hi = 1;

)

)
 

Welcome to EDABoard.com

Sponsor

Back
Top