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 

Pretvorba spremenlivke v hex verdnost.
Pojdi na stran 1, 2  Naslednja
 
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
fbifbi
Član
Član



Pridružen-a: Pon 05 Jul 2004 12:17
Prispevkov: 129
Aktiv.: 0.54
Kraj: ljubljana

PrispevekObjavljeno: Tor Maj 30, 2006 10:45 pm    Naslov sporočila:  Pretvorba spremenlivke v hex verdnost. Odgovori s citatom

Dve spremenlivki moram spremeniti v hex vrednost zato sem napisal sledeč program:
Koda:
[b]Dim C As String * 10 , A As String * 11[/b]
A = Hex(minute)
P1 = A
C = Hex(ure)
P3 = C

In Bascom "normalno" izpiše :Out of internal memory.

Kako bi pretvarjal spremenlivki v hex drugače?

P.S.:Gre za uro k čas kaže binarno.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
clownfish
Član
Član



Pridružen-a: Pet 05 Avg 2005 13:05
Prispevkov: 765
Aktiv.: 3.23
Kraj: Povir / Ljubljana

PrispevekObjavljeno: Tor Maj 30, 2006 11:34 pm    Naslov sporočila:  Re: Pretvorba spremenlivke v hex verdnost. Odgovori s citatom

fbifbi je napisal/a:
Kako bi pretvarjal spremenlivki v hex drugače?



tukaj vržeš noter var1 kot spremenljivko char 0..15 in ven dobiš v var2 Ascii char znak 0..9, A..F

switch (var1)
{
case 10:
{
var2='A';
}
break;

case 11:
{
var2='B';
}
break;

case 12:
{
var2='C';
}
break;

case 13:
{
var2='D';
}
break;

case 14:
{
var2='E';
}
break;

case 15:
{
var2='F';
}
break;

default:
{
var2=var1+'0';
}
break;
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70831.19

PrispevekObjavljeno: Sre Maj 31, 2006 7:54 am    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Maj 31, 2006 9:50 am    Naslov sporočila:   Odgovori s citatom

Ne uporabljam tega basica, zato bolj ugibam. Napaka je verjetno v eni od teh vrstic. Vrzi ven eno po eno in glej kdaj neha javljati napako.

A = Hex(minute)
P1 = A

Deklarirana sta A in C. Deklarirani nisto ure, minute, P1 in P3.
Z drugimi besedami: če P1 ni String * 11, bo crknilo. A (Dim A As String * 11) vtakneš v P1 (nedeklariran) bo crknilo.

Mešanje tipov je lahko nevarno, zato pascal to prepoveduje. Deklarirati je potrebno vse speremenljivke in konec.

Večina basicov res dovoljuje svobodne deklaracije in uporabo... Zgoraj omenjeni program crkne. Napako vidim v mešanju tipov. Mogoče sem uganil narobe.

Jur


Nazadnje urejal/a jur Sre Maj 31, 2006 10:07 am; skupaj popravljeno 2 krat
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Sre Maj 31, 2006 10:04 am    Naslov sporočila:   Odgovori s citatom

jur, v Basicu ni potrebno najavljati spremenljivk! Pač ko jo prvič uporabiš, ji dodeli tip in vrednost. Je pa res, kar si rekel, da ne smeš mešati tipov.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3358
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Sre Maj 31, 2006 11:08 am    Naslov sporočila:   Odgovori s citatom

Citiram:
Dve spremenlivki moram spremeniti v hex vrednost zato sem napisal sledeč program:
Koda:
Dim C As String * 10 , A As String * 11
A = Hex(minute)
P1 = A
C = Hex(ure)
P3 = C

In Bascom "normalno" izpiše :Out of internal memory.

Kako bi pretvarjal spremenlivki v hex drugače?

P.S.:Gre za uro k čas kaže binarno.


Pretvorbo si naredil pravilno, ne moreš pa tako predelano vsebino enostavno dati na porte, ne naredi nič pametnega. Tako vsebino lahko z
Print A
daš na terminal ali z
LCD A
daš na LCD

Če imaš na portih led diode, ti bodo le te povedale kaj, če boš dal direktno vsebino na porte recimo

P1 = minute

potem ti bodo diode svetile, kot so interni biti v spremenljivki minute. Hm, seveda če imaš diode direktno na portu, potem bodo gorele tiste diode, katerih odgovarjajoči biti so na 0 in ne na 1.



MMGD: Izogibaj sem poimenovanja spremenljivk z A, B, C, pride lahko do kolizije z rezerviranimi imeni.

_________________
Nihče ni za vojno in vsi so za mir,
vsi so za bratstvo, nihče za prepir.
Od same ljubezni vsak čas na granatah
bo vtisnjeno geslo: "Darilo za brata"
Janez Menart
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
CarpeDiem
Član
Član



Pridružen-a: Pon 16 Feb 2004 17:24
Prispevkov: 333
Aktiv.: 1.41
Kraj: Vrhnika

PrispevekObjavljeno: Sre Maj 31, 2006 3:49 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
Dve spremenlivki moram spremeniti v hex vrednost zato sem napisal sledeč program


Tole je pa sumljivo. Saj je hex, dec, bin, oct, ... samo oblika zapisa ene in iste stvari. Ali boš vrednost izpisoval na LCD? Še posebaj je sumljivo to, da bi ti to rad izpisoval na port.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Maj 31, 2006 3:56 pm    Naslov sporočila:   Odgovori s citatom

Problem je mogoče v tem, ker je rezultat hex funkcije več bytov. Če je vrednost stringa (rezultat hex funkcije) na primer 1A, to je dejansko"1A" (string dolg dva bajta). Kaj se zgodi, če na port pošlješ vrednost 1A? Ali bo za mikrosekundo na portu vrednost 0x1 in potem vrednost 0xA (dokler je kasneje ne povoziš), ali bo basic javil napako?

Jur
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
fbifbi
Član
Član



Pridružen-a: Pon 05 Jul 2004 12:17
Prispevkov: 129
Aktiv.: 0.54
Kraj: ljubljana

PrispevekObjavljeno: Sre Maj 31, 2006 9:55 pm    Naslov sporočila:   Odgovori s citatom

Izdelujem uro ki čas kaže binarno. To pomeni, da se mora spremenlivki ure in minute pretvorti v binarno ali hex vrednost in se izpisati na P1(minute) in P3(ure).

BASCOM javi napako zaradi Dim C As String * 10 , A As String * 11
napak pa se glasi:Out of internal memory
Kar bi lahko pomenilo da se nesem uporabljati string več kot enkrat.

Citiram:
Deklarirana sta A in C. Deklarirani nisto ure, minute, P1 in P3.


V pravem programu so deklarirane v tem sem pozabil dopisati.
Bistvo je da je nekaj narobe pri pretvorbi obeh sprmenlivk v hex.
P1 in P3 pa so porti.


P.S.: V prvem postu sem pozabil napisati tip mikrokontroleja, ki AT89C2051.
P.P.S.:Če pretvarjam samo eno spremenlivko zadeva deluje čim dodam še drugo pa neha delovati.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70831.19

PrispevekObjavljeno: Sre Maj 31, 2006 10:01 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.


led_disp.jpg
 Opis:
 Velikost datoteke:  163.37 KB
 Pogledana:  29 krat

led_disp.jpg


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fbifbi
Član
Član



Pridružen-a: Pon 05 Jul 2004 12:17
Prispevkov: 129
Aktiv.: 0.54
Kraj: ljubljana

PrispevekObjavljeno: Sre Maj 31, 2006 10:20 pm    Naslov sporočila:   Odgovori s citatom

Gradim uro ki dobesedno kaže čas binarno!
Štiri LED diode ponazarjajo ure ostalih 6 pa minute.
Prikaz:
0001.... ura 1
000001 ... in ena minuta
000010... dve minuti
0010 ... ura 2
.
.
.



shema_ure.JPG
 Opis:
 Velikost datoteke:  17 KB
 Pogledana:  7710 krat

shema_ure.JPG


Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70831.19

PrispevekObjavljeno: Sre Maj 31, 2006 10:25 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fbifbi
Član
Član



Pridružen-a: Pon 05 Jul 2004 12:17
Prispevkov: 129
Aktiv.: 0.54
Kraj: ljubljana

PrispevekObjavljeno: Sre Maj 31, 2006 10:28 pm    Naslov sporočila:   Odgovori s citatom

Tako uro sem nekje videl pa jo poskušam naredti.
Pa se mi je ustavilo pri pretvorbi spremenlivke.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
.
Član
Član



Pridružen-a: Ned 19 Sep 2004 22:04
Prispevkov: 16777193
Aktiv.: 70831.20

PrispevekObjavljeno: Sre Maj 31, 2006 10:30 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Slemi
Član
Član



Pridružen-a: Pet 29 Okt 2004 13:29
Prispevkov: 386
Aktiv.: 1.63
Kraj: Hrastnik

PrispevekObjavljeno: Sre Maj 31, 2006 11:23 pm    Naslov sporočila:   Odgovori s citatom

Če prav razumem, ti rabiš samo spodnje 4 oz. 6 bitov binarnega podatka prikazati na LED? Če je tako potem samo napiši:

PORT1 = minute & 63
PORT3 = ure & 15

To ti odbije stran zgornje 2 oz. 4 bite podatkov.

Lp

_________________
slemi.info - en
slemi.si - slo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo AIM - AOL Instant - naslov MSN Messenger - naslov
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
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
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: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group