Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

GLCD in BASCOM
Pojdi na stran Prejšnja  1, 2, 3, 4  Naslednja
 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
senna
Mojster


Pridružen/-a: Čet Jun 2011 21:14
Prispevkov: 23

PrispevekObjavljeno: Pet Okt 05, 2012 11:19 am    Naslov sporočila: Odgovori s citatom

Tudi s tem sem se že igral.
Dal sem zakasnitev :
- takoj po pritisku na tipko, preden nariše sliko,
- po izrisu slike.

Ne deluje!!!

Za skoke iz menija v podmenije uporabljam ukaz Debounce. Pred tem sem IF stavek. A je mogoče tu kakšen kiks?

Lp
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Pet Okt 05, 2012 12:22 pm    Naslov sporočila: Odgovori s citatom

Poskusi ukaz debounce zamenjati z ukazom if-----. Tudi sam sem že imel težave s tem ukazom, zato se ga malce izogibam.
_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
senna
Mojster


Pridružen/-a: Čet Jun 2011 21:14
Prispevkov: 23

PrispevekObjavljeno: Pet Okt 05, 2012 1:15 pm    Naslov sporočila: Odgovori s citatom

Odkril sem napako, ne vem pa še, kako jo bom odpravil. Mi ni jasno, zakaj do tega pride.

Če remam prekinitveno rutino, katera mi generira sekunde in pripadajoče nastavitve timerja mi zadeva deluje 100% brezhibno.

Nastavitve timerja:
Rem ********** Nastavitev prekinitev 1sek **********
Const Timer1reload = 31250
Config Timer1 = Timer , Prescale = 256
Load Timer1 , Timer1reload
On Ovf1 Prekinitev
Enable Timer1
Start Timer1
Enable Interrupts


Prekinitveni program:
Rem ***** Prekinitveni program 1 sek *****
Prekinitev:
Load Timer1 , Timer1reload
Incr Sek_sani
Incr Sek_boris
Return
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
senna
Mojster


Pridružen/-a: Čet Jun 2011 21:14
Prispevkov: 23

PrispevekObjavljeno: Pet Okt 05, 2012 1:21 pm    Naslov sporočila: Odgovori s citatom

Predvidevam, da pride do anomalije na ekranu takrat, ko istočasno pride do nalaganja slike z ukazom "Showpic 0 , 0 , meni3" in programske prekinitve.

Sigurno ima kdo izkušnjo s prikazovanjem slik in istočasno uporabo prekinitve v programu.

Hvala!

Lp, Boris
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
senna
Mojster


Pridružen/-a: Čet Jun 2011 21:14
Prispevkov: 23

PrispevekObjavljeno: Pet Okt 05, 2012 2:23 pm    Naslov sporočila: Odgovori s citatom

To bo to. Preverjeno. Ce pred ukazom SHOWPIC uporabim ukaz DISABLE INTERRUPTS in takoj za ukazom SHOWPIC ukaz ENABLE INTERRUPTS zadeva deluje.

Če je tako, potem grafični display ni uporaben, ker v vsakem programu uporabljamo prekinitve, in po moje tudi ni smiselno, da prekinitve v programu onemogočamo oziroma omogočamo!

Prosim za komentar kako rešujete to vi!

Hvala!

Lp, Boris
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Pet Okt 05, 2012 6:54 pm    Naslov sporočila: Odgovori s citatom

Kaj pa če imaš premajhne vrednosti swstack, Hwstack in framesize? Povečaj to in poskusi. Lahko občasno pride do overflowa in se dogajajo čudesa...
_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2058
Kraj: Ljubljana

PrispevekObjavljeno: Sob Okt 06, 2012 7:40 am    Naslov sporočila: Odgovori s citatom

senna je napisal/a:

Če je tako, potem grafični display ni uporaben, ker v vsakem programu uporabljamo prekinitve, in po moje tudi ni smiselno, da prekinitve v programu onemogočamo oziroma omogočamo!

Prosim za komentar kako rešujete to vi!

Hvala!

Lp, Boris


Boris,

do sedaj še nisem imel takšne težave, kot jo opisuješ, mogoče jo rešiš tako, kot je napisal Protonček.

Bi pa dodal še nekaj: tudi temperaturni senzor DS1820 ne prenese prekinitev medtem, ko prenaša podatke v mikrokontroler, pa ne moremo reči, da je neuporaben. Potrebno je program prilagoditi tako, da prekinitve delujejo, hkrati pa tudi DS1820. Verjetno je podobno pri tebi z GLCD-jem.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
senna
Mojster


Pridružen/-a: Čet Jun 2011 21:14
Prispevkov: 23

PrispevekObjavljeno: Sob Okt 06, 2012 10:28 am    Naslov sporočila: Odgovori s citatom

Jure, zanimivo da meni termostat z DS-om in prekinitvami deluje. Mogoče pa je narobe kaj s slikami. V katerem programu rišete slike? Jaz jih kar v slikarju.

Hvala!
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Sob Okt 06, 2012 11:25 am    Naslov sporočila: Odgovori s citatom

Predlagam da si narediš spremenljivko, katero v prekinitvi postaviš na 1. Potem rišeš nove stvari na lcd samo v primeru če je ta spremenvljivka enaka ena, s tem da jo takoj ob začetku risanja postaviš nazaj na nič. Tako bo program risal na lcd samo takoj po končani prekinitvi in bo končal do naslednje, seveda če interval prekinitve ni ekstremno kratek. Če spremenljvika še ni ena, ko hočes risati pač narediš zanko, ki čaka dokler ni pogoj izpolnjen.
_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
senna
Mojster


Pridružen/-a: Čet Jun 2011 21:14
Prispevkov: 23

PrispevekObjavljeno: Ned Okt 07, 2012 9:52 am    Naslov sporočila: Odgovori s citatom

Protoncek, zastopim. Bom probal.

Lp, Boris
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Ned Okt 07, 2012 9:58 am    Naslov sporočila: Odgovori s citatom

Poskusi tudi s povečanjem swstack itd... Namreč, odvisno od tega, koliko ukazov sub imaš se lahko prekriva. Tudi rutine za risanje lahko same uporabljajo stack.
_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
senna
Mojster


Pridružen/-a: Čet Jun 2011 21:14
Prispevkov: 23

PrispevekObjavljeno: Ned Okt 07, 2012 11:14 am    Naslov sporočila: Odgovori s citatom

S povečanjem $swstack ni šlo. Problem sem rešil tako, da sem pred izrisom slike onemogočil prekinitev, ki očitno zmoti GLCD v času izrisa. Takoj po izrisu slike sem ponovno omogočim prekinitev. Prekinitev pa sem izvedel kot je Jure sam rekel, treba jo je pač prilagoditi.

Vprašanje, ki sicer ne vpliva na moj trenutni projekt a vseeno:
- na moj GLCD lahko natisnem le fonte 5x5 in 8x8 kljub temu, da imam tudi druge datoteke (6x10, 8x14, 10x16,...).
- ali obstaja program za kreiranje lastnih fontov?

Lp, Boris
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Profesionalec


Pridružen/-a: Sob Maj 2007 9:25
Prispevkov: 303
Kraj: Mengeš

PrispevekObjavljeno: Ned Okt 07, 2012 2:02 pm    Naslov sporočila: Odgovori s citatom

hm...pišeš lahko s katerimkoli fontom, le pred pisanjem moraš navesti vir (npr. Setfont font10x16) ter ta font seveda vključiti v program (na koncu daš $include "Font imefonta.font"). Program za kreiranje fontov je že v Bascomu. Najprej odpri Orodja/Menežer vtičnikov in vključi fonteditor. Restartaj Bascom in v orodja/vrtičniki boš imel fonteditor. Z njim lahko spreminjaš ali na novo kreiraš fonte.
_________________
http://www.protoncek.com
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2058
Kraj: Ljubljana

PrispevekObjavljeno: Pon Okt 08, 2012 8:47 am    Naslov sporočila: Odgovori s citatom

senna je napisal/a:
Jure, zanimivo da meni termostat z DS-om in prekinitvami deluje. Mogoče pa je narobe kaj s slikami. V katerem programu rišete slike? Jaz jih kar v slikarju.

Hvala!


DS ne pošlje pravilne temperature, če postopek pošiljanja podatkov prekineš s prekinitvijo. Takšne so moje izkušnje.

Slike narišem v slikarju, potem pa jih z BGF editorjem pretvorim v BGF format.

Ali si morda pri pretvorbi slik v BGF uporabil napačno nastavitev? SED mora biti vklopljen, če se prav spomnim.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
senna
Mojster


Pridružen/-a: Čet Jun 2011 21:14
Prispevkov: 23

PrispevekObjavljeno: Pon Okt 08, 2012 9:50 am    Naslov sporočila: Odgovori s citatom

Pri pisanju na GLCD seveda uporabim ukaz "Setfont", ampak mi na ta način uspe prikazati le fonte 5x5 in 8x8 (fontov 10x16, 5x12, 8x14,... nikakor ne morem prikazati). A je to problem, ker so višji od 8 pik? Probal sem se poigrati po navodilih protončka in v BASCOM-u kreirati črke. Datotako test.font sem ustvaril in jo vključil v programu a jo pravtako ne morem prikazati na GLCD-ju. Sicer pri pretvorbi ne javi nobene napake, a ekran je prazen!!!??

Jure, naredil sem vse kot si napisal, je pa zanimivo, da meni pri merjenju temperature ne pride do napak (vsaj opazil nisem).

Hvala!

Boris
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika Časovni pas GMT + 1 ura, srednjeevropski - zimski čas
Pojdi na stran Prejšnja  1, 2, 3, 4  Naslednja
Stran 2 od 4

 
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
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group