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

Problem z poleceniem LPM AT2313

skirki 21 Lut 2011 21:23 953 2
  • #1 9184838
    skirki
    Poziom 10  
    Witam pisze program zegarka w assemblerze oparty o procesor ATtinny2313, i w procedurze obsługującej wyświetlanie cyfr na wyświetlaczu segment-LED wczytuje z pamięci flash procedurą LPM R0, Z+ do rejestru r0 kolejne liczby do wyświetlania, na co AVR studio się buntuje pisząc ...ss\Prog_uC_L5Ass.asm(34): error: lpm r0, z+: Unsupported instruction on AT90S2313
    Pierwsze co zrobiłem to sprawdziłem w dokumentacji i instrukcja w tym wariancie (tj inkrementacji) występuje w tabeli instrukcji, sama instrukcja LPM działa i kompilator sie nie buntuje, ale po co dokładać dodatkowe cykle skoro LPM r0, Z+ jest niby wspierane..

    Poniżej kawałek kodu:

    
    petla:
    ldi		ZL, LOW(liczba_LED*2)
    ldi		ZH, HIGH(liczba_LED*2)
    
    ;wyswietl cyfry od 0 do 9
    ldi		r22, 0
    petla1:
    ;załaduj cyfre z pamieci do R0
    ;i inkrementuj adres w rejestrze Z
    	[b]lpm		r0, z+[/b]  //TUTAJ SIE BUNTUJE
    	;załaduj PORTB
    	out		PORTB, r0


    Myslicie że dokumentacja może być poprostu przekłamana i LPM ma tylko jeden wspierany wariant? Bo poki co inne rozwiązanie tej zagwostki mi nie przychodzi do głowy. (w załączniku dokumentacja którą wykorzystuje)
    Załączniki:
  • Pomocny post
    #2 9185066
    JarekC
    Poziom 32  
    Witam

    AT90S2313 obsługuje tylko LPM, natomiast ATTINY2313 obsługuje LPM, LPM Rd,Z jak i LPM Rd,Z+.

    Jeżeli wykorzystujesz ATINY2313 to znaczy, że źle zadeklarowałeś w AVR Studio typ procesora, bo kompilator wyraźnie pisze o błędzie dla AT90S2313.

    Pozdrawiam
    JarekC
  • #3 9185330
    skirki
    Poziom 10  
    Własnie sprawdziłem, bo wydawało mi się że project wizard rozwiązuje sprawę (bo wybrałem dobry procesor) tylko zły plik z definicjami dałem bo 2313def to jest właśnie do 90s2313 a do AT2313 odpowiedni to tn2313.
    Dzieki za pomoc jakoś umknęło to mojej uwadze
REKLAMA