Zabrałem sie do pracy na AVR Studio... Mam pytanie jak zasymulować wtym programie przerwania ?
Pozdrawiam.
Pozdrawiam.
Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tam in r16, MCUCR
sbr r16, (1<<ISC10)
out MCUCR, r16 in r16, MCUCR
cbr r16, (1<<ISC10)
out MCUCR, r16 in r16, MCUCR
sbr r16, (1<<ISC10)+(1<<ISC00)
cbr r16, (1<<ISC01)+(1<<ISC11)
out MCUCR, r16.include "m8def.inc"#include <m8def.inc>Mess-gd napisał:A mozna definiować rejestr ? Chodzi o to, że chciałbym żeby 1 rejestr był rejestrem informacyjnym nazwanym np. RI. I czy można zdefiniować połowe rejestru? Np. Mam pod PORT A podpięte 2 urządzenia zajmujące 4 piny. 1 urządzenie nazwałbym U1, a 2 U2 i teraz poleceniem SBR ustawiałbym połowe portu.
and r16, 0x11110000
lsl r16
lsl r16
lsl r16
lsl r16
and r17, 0x00001111
or r16, r17
out PORTA, r16 lsl r16
lsl r16
lsl r16
lsl r16
in r17, PORTA
and r17, 0x00001111
or r16, r17
out PORTA, r16 in r16, PORTA
lsr r16
lsr r16
lsr r16
lsr r16
and r16, 0x11110000Mess-gd napisał:Acha!!! Co do zdefiniowanych zmiennych typu GICR. Okazuje się, że te zmienne są nie tak skonfigurowane. Zamiast GICR wpisuje mi w PORTA. Czy konfiguracja ta jest do programatora ? Możliwe ze w symulatorze nie są brane pod uwage adresy rejestrów które są od $00 do $1F, co powoduje ze rej. we/wy zaczynają się zamiast od $20 to od $00 co wprowadza pomyłke... Jeżeli tak to jak to zmienić ?
Mess-gd napisał:No tak, ale jak wybrałem procesor ATMEGA8515 i plik m8515def.inc to wszystko powinno być dorze, a jednak nie jest...
Mess-gd napisał:Nie odpowiedziałeś czy można definiować rejestr, np. RI = r17
.equ Xtal=16000000 ;16 MHz => ~62,5e-9 s ~=62,5ns clock tick
.def MemoByteLo =r0 ;Used for EEPROM & Program Flash Memory access and Lo byte for result of multiply
.def MemoByteHi =r1 ; Hi byte for result of multiply
.def IntSaveMemoByteLo =r2 ;
.def IntSaveSREGByte =r3 ;
.def IntSaveTempA = r4 ;
.def IntSaveTempB = r5
.def IntSaveDataByte =r6 ;
.def IntSaveXLByte = r7
.def IntSaveXHByte = r8
.def IntSaveZLByte = r9
.def IntSaveZHByte = r10
.def StoreZL = r11
.def StoreZH = r12
.def ZeroByte = r13 ;
.def IntMul = r14 ;
.def DummyByte=r15 ;used in decrement and increment X, Y, Z by (ld DummyByte, (-)X/Y/Z(+)
.def DataByte =r16 ;
.def TempA = r17 ;
.def TempB = r18 ;
.def CountBtL =r19 ;
.def CountBtH =r20 ;
.def TempCInt = r21 ;
.def TL = r22 ;
.def TH = r23 ;
.def AddWordL =r24 ;
.def AddWordH =r25 ;
;r26-r31 -> X, Y, Z
.equ IFlag=7
.equ TFlag=6
.equ HFlag=5
.equ SFlag=4
.equ VFlag=3
.equ NFlag=2
.equ ZFlag=1
.equ CFlag=0