Gizmo Postat Aprilie 12, 2009 Partajează Postat Aprilie 12, 2009 Am urm?torul task: exista 4 pini de pe care un controller necunoscut cite?te pe SPI datele care i le trimite mai un receptor. Eu trebuie s? m? conectez pe acei pini (MISO, MOSI, SS, CLK) ?i s? citesc datele care se transmit. Am rutinele de întrerupere pentru citirea unui ?ir de 24 bi?i dar nu am experien?? în asamblare ?i a? avea nevoie de ceva îndrum?ri: Nu reu?esc s?-mi dau seama cum anume se apeleaz? întreruperile ?i citirea pe frountul cresc?tor. Care ar fi ini?ializ?rile de care mai este nevoie pentru compilare ?i programarea controlerului. Mul?umesc anitcipat. ;; subrutina intrerupere externa E0;int_e0: sbi portb,3 in rauxi,sreg ; slvare registru de stare SREG push rauxi in rauxi,mcucr cbi portb,3 sbrc rauxi,0 rjmp f_crescf_desc: ori rauxi,1 out mcucr,rauxi ldi rauxi,$c0 out GIMSK,rauxi clr r16 clr r20 clr r21 clr r22 pop rauxi out sreg,rauxi reti ; revenire din intreruperea externa E0f_cresc: cpi r16,24 breq ctz inc r23 rjmp ctyctz: sbi portb,2 st X+,r16 st X+,r22 st X+,r21 st X+,r20cty: andi rauxi,$fe out mcucr,rauxi ldi rauxi,$40 cpi XL,$d4 brlo ctx ldi rauxi,0 ldi XL,$60 cbi portb,2ctx: out GIMSK,rauxi pop rauxi out sreg,rauxi reti ; revenire din intreruperea externa E0;; subrutina intrerupere externa E1;int_e1: sbi portb,1; in rauxi,sreg ; slvare registru de stare SREG inc r16 ; increment reg. R2 push rauxi in rauxi,pind swap rauxi lsr rauxi lsr rauxi rol r20 rol r21 rol r22 pop rauxi out sreg,rauxi; cbi portb,1 reti ; revenire din intreruperea externa E1;;RD_m: ldi XL,$60 ldi XH,$00 clr R23w_unu: sbis pind,2 rjmp w_unu ldi raux1,$0e out mcucr,raux1 ldi raux1,$C0 out GIFR,raux1 ldi raux1,$40 out GIMSK,raux1 sbi ddrb,1 sbi ddrb,2 sbi ddrb,3 ret; Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum