www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Programerska

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14551
Aktiv.: 65.53
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Mar 21, 2023 5:52 pm    Naslov sporočila: icon_sad Programerska Odgovori s citatom

Tole mi je "požrlo" kako uro. Brick wall Kaj sem naredil narobe. d'oh!

Avr assembler ... atmega 48. Del kode z napako - ad prekinitev z branjem ad vhodov.
Berem tri potenciometre. Koda v nadaljevanju krmili led trak z WS2812B.
Samo obnašanje je bilo zelo čudno. En kanal je vračal čudne podatke. Najprej sem sumil hardware. Drug mikrokontroler je dalal enako.
Napako sem našel s simulatorjem. Zelo čudno obnašanje v skladu. Pray Kaj sem naredil narobe ? Prevajalnik ni javil kake napake. Brick wall Brick wall

Del kode.



napaka.jpg
 Opis:
 Velikost datoteke:  121.53 KB
 Pogledana:  63 krat

napaka.jpg



_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
s56al
Član
Član



Pridružen-a: Pon 19 Sep 2005 12:03
Prispevkov: 740
Aktiv.: 3.33
Kraj: JN66SI & JN76TM

PrispevekObjavljeno: Sre Mar 22, 2023 9:45 am    Naslov sporočila:   Odgovori s citatom

Silvo je napisal/a:
... Zelo čudno obnašanje v skladu. Pray Kaj sem naredil narobe ? Prevajalnik ni javil kake napake. Brick wall Brick wall


Nimam veliko vaje programiranja AVR-jev, pa še te so stare > 10 let, ampak takole "na pamet", predvidevam, da bi na naslovu prekinitvenega vektorja (.org 0x0015) moral biti ukaz "rjmp" in ne "rcall".

Vsaj pri PIC-ih je tako, da pri proženju prekinitvenega podprograma za shranjevanje povratnega naslova na sklad poskrbi HW. V tvojem primeru se zaradi ukaza "rcall" (še dodatni programski klic podprogramske rutine) shranjevanje povratnega naslova na sklad izvede 2x.
.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
s56al
Član
Član



Pridružen-a: Pon 19 Sep 2005 12:03
Prispevkov: 740
Aktiv.: 3.33
Kraj: JN66SI & JN76TM

PrispevekObjavljeno: Sre Mar 22, 2023 10:18 am    Naslov sporočila:   Odgovori s citatom

En primer: https://gist.github.com/BobBurns/edbb781aa9e9dc62d1d7
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14551
Aktiv.: 65.53
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sre Mar 22, 2023 12:35 pm    Naslov sporočila:   Odgovori s citatom

s56al je napisal/a:
Silvo je napisal/a:
... Zelo čudno obnašanje v skladu. Pray Kaj sem naredil narobe ? Prevajalnik ni javil kake napake. Brick wall Brick wall


Nimam veliko vaje programiranja AVR-jev, pa še te so stare > 10 let, ampak takole "na pamet", predvidevam, da bi na naslovu prekinitvenega vektorja (.org 0x0015) moral biti ukaz "rjmp" in ne "rcall".

Vsaj pri PIC-ih je tako, da pri proženju prekinitvenega podprograma za shranjevanje povratnega naslova na sklad poskrbi HW. V tvojem primeru se zaradi ukaza "rcall" (še dodatni programski klic podprogramske rutine) shranjevanje povratnega naslova na sklad izvede 2x.
.


Applause Applause Bravo TOČNO!

Enestavno nisem" videl", da sem napisal "rcall". Napako sem iskal čisto drugje.
Skratka, hotel sem povedal da ena sama napačna instrukcija naredi popolno štalo iz progama, če prav je vse ostalo ok.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
s56al
Član
Član



Pridružen-a: Pon 19 Sep 2005 12:03
Prispevkov: 740
Aktiv.: 3.33
Kraj: JN66SI & JN76TM

PrispevekObjavljeno: Sre Mar 22, 2023 2:54 pm    Naslov sporočila:   Odgovori s citatom

Samo da je rešeno Smile. Sicer podobno situacijo tudi sam doživel že mnogokrat. V takih primerih se najbolj obnese vse skupaj "prespati", medtem možgani v "backgroundu" iščejo rešitev problema oz. manjkajoče "pike in vejice" Wink!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> AVR, LPC900, x51 Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 47 dni


Powered by phpBB © 2001, 2005 phpBB Group