logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVR asembler - atmega 169 problem z przerwaniem

KJ 15 Lip 2010 16:57 837 0
REKLAMA
  • #1 8295572
    KJ
    Poziom 31  
    Witam. Walczę właśnie z programem do PWM opisywanym parę postów niżej. Postanowiłem jednak założyć nowy temat bo komuś może się przydać do innych projektów. Mianowicie problem jest z przerwaniem od uarta w M169 wydaje mi się że wszystko ustawiłem poprawnie jednak wymuszenie przerwania w symulacji nie powoduje skoku do wektora.

    
    
    .include "m169def.inc"
    .def temp = R16
    .cseg
    .org 0
    
    rjmp	ResetProcessor	
    
    .org 0x001A
    jmp uartrxc ;przerwanie od UART-a (odbiór)
    
    .org 0x002e
    ResetProcessor:	
    ;stos
     	ldi  	r16,LOW(RAMEND)  	;
      	out 	SPL,r16 	;
      	ldi 	r16,HIGH(RAMEND) 	;
      	out 	SPH,r16
    
    
    
    ;uart 1Megabit
    ldi temp,0
    sts ubrr0H,temp
    ldi temp,0
    sts ubrr0L , temp
    
    ;aktywacja RXD i przerwania
    
    ldi temp,(1<<rxen)|(1<<rxcie)
    sts ucsrb,temp
    
    
    ; Set frame format: 8data, 1stop bit
    ldi r16, (0<<USBS)|(3<<UCSZ0)
    sts UCSRC,r16
    
    sei
    
    reszta programu
    


    Pytanie o czym zapomniałem ? Pisałem już kiedyś podobny program tylko na M16 i tam działało to normalnie. Skonfigurowałem testowo kilka innych przerwań w ten sam sposób i sprawdziłem czy chodzą i o dziwo działają poprawnie zaczynam więc podejrzewać albo błąd w symulatorze albo jakąś głupotę której nie widzę.

    Edit: Jest błąd w symulatorze. Program wgrany do procesora wykonuje przerwanie.
  • REKLAMA
REKLAMA