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

Miganie diodą na ATmega32 w asemblerze - program nie działa poprawnie

squelch 03 Kwi 2017 23:32 2016 5
REKLAMA
  • #1 16390791
    squelch
    Poziom 11  
    Witam mam problem z działaniem takiego programu
    Kod: AVR assembler
    Zaloguj się, aby zobaczyć kod

    Program napisałem w Atmel Studio i wgrywam za pomocą mkavrcalculator plik hex do procka atmega32 taktowanie 8mhz
    czy wiecie gdzie lezy problem

    Pozdrawiam
  • REKLAMA
  • #2 16390871
    rb401
    Poziom 39  
    squelch napisał:
    ldi R16,200
    ldi R17,1
    start:
    ldi R22,0x00
    out PORTC,R22
    call Czekaj_ms
    ldi R22,0x01
    out PORTC,R22
    call Czekaj_ms
    rjmp start


    Nie wiem którą implementację funkcji Czekaj_ms konkretnie używasz, ale jakąś tu oglądam i widzę że akurat ta nie zachowuje wartości rejestrów R16 i R17.
    Moja sugestia byś R16 i R17 ustawiał przed każdym wywołaniem Czekaj_ms i zobaczył czy pójdzie.

    Przykładowo:

    Kod: AVR assembler
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 16391146
    excray
    Poziom 41  
    squelch napisał:
    czy wiecie gdzie lezy problem

    Nie wiemy. A Ty wiesz gdzie leży problem? W ogóle jest jakiś problem? Jeśli tak, to napisz jakie są jego objawy. Poza tym dołącz funkcję "Czekaj_ms" którą wywołujesz w kodzie. Chyba, że takiej funkcji nie masz to wtedy w tym jest właśnie problem.
  • REKLAMA
  • #4 16391453
    squelch
    Poziom 11  
    Funkcja czekajms znajduje sie w osobnym pliku I zachowuje rejestry na stosie, postaram sie znalezc czas I pokombinuje

    Dodano po 23 [minuty]:

    Witam posłuchałem rad jednak nadal coś nie chce działać połączenia mam na pewno dobre, całość w oparciu o zestaw uruchomieniowy.
    przedstawię jeszcze plik dołączany to jest procedura opózniająca
    Kod: AVR assembler
    Zaloguj się, aby zobaczyć kod


    Dodano po 2 [godziny] 47 [minuty]:

    napisałem program w c w atmel studio i wszysko działa jednak dla asemblera dalej nie chce pójść
    Proszę o pomoc

    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #5 16391832
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA