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 

Še ena, kjer mi boste gotovo pomagali kar iz rokava.

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
vilko
Član
Član



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

PrispevekObjavljeno: Čet Mar 31, 2016 4:01 pm    Naslov sporočila:  Še ena, kjer mi boste gotovo pomagali kar iz rokava. Odgovori s citatom

Kodiram:
Koda:
byte aa = B00000001 ;   
  Serial.println(aa,DEC);
  Serial.println(aa,HEX);
  Serial.println(aa,BIN);


A izpis, ki ga dobim je vedno 1.
Jaz pa bi rad
1 za decimalni izpis
01 za heksadecimalni izpis in
00000001 za binarni izpis .

Kako?

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
rplink3r
Član
Član



Pridružen-a: Tor 06 Feb 2007 20:02
Prispevkov: 480
Aktiv.: 2.30
Kraj: Levec

PrispevekObjavljeno: Čet Mar 31, 2016 4:50 pm    Naslov sporočila:   Odgovori s citatom

Primer za izpis binarne številke v terminal:

Primer za celoten integer 2 x byte

Koda:

//
// davekw7x
//
void setup()
{
   Serial.begin(9600);
}

int Sensor = 0;

void loop()
{
   Sensor++;

   for (unsigned int mask = 0x8000; mask; mask >>= 1) {
       if (mask & Sensor) {
           Serial.print('1');
       }
       else {
           Serial.print('0');
       }
   }
   Serial.println();
   delay(1000);
}



Če pa hočeš samo en byte pa masko na 0x80 in spremenljivko na byte


Koda:


void setup()
{
   Serial.begin(9600);
}

byte Sensor = 0;

void loop()
{
   Sensor++;

   for (byte mask = 0x80; mask; mask >>= 1) {
       if (mask & Sensor) {
           Serial.print('1');
       }
       else {
           Serial.print('0');
       }
   }
   Serial.println();
   delay(1000);
}



Na tej strani primeri za Binaren izpis:
http://forum.arduino.cc/index.php?topic=45679.0

Na tej strani primeri za Hex izpis:
http://forum.arduino.cc/index.php?topic=38107.0

_________________
"The statement below is false."
"The statement above is true."
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: 3351
Aktiv.: 15.09
Kraj: Dragomer

PrispevekObjavljeno: Čet Mar 31, 2016 4:57 pm    Naslov sporočila:   Odgovori s citatom

Uh!

Tokrat pa nisem srečen!

A vseeno, hvala!

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



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

PrispevekObjavljeno: Čet Mar 31, 2016 5:01 pm    Naslov sporočila:   Odgovori s citatom

In še ena izmed osnovnih manipulacij z binarnimi veličinami:

Rotate! To se pravi shift v eno ali drugo smer, kjer bit ki se na eni strani izrine, se na drugi strani pojavi na mestu novega bita.

Verjetno spet moram sam testirati bit, ki se bo izrinil, si ga nekje zapomnil in na druigi strani moram spet sam dati ga na vstopno mesto.

Ja, veste, to je pa mučenje kristjanov!

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Slowfly
Član
Član



Pridružen-a: Sre 18 Feb 2004 2:07
Prispevkov: 4082
Aktiv.: 18.38
Kraj: Ljubljana

PrispevekObjavljeno: Čet Mar 31, 2016 7:46 pm    Naslov sporočila:   Odgovori s citatom

vilko je napisal/a:
Ja, veste, to je pa mučenje kristjanov!


He, he. Pa bi bil ateist, kot jaz!

_________________
Še dobro, da bitje srca in dihanje nadzoruje vegetativno živčevje. V nasprotnem primeru nekateri ne bi preživeli niti 24 ur.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
rplink3r
Član
Član



Pridružen-a: Tor 06 Feb 2007 20:02
Prispevkov: 480
Aktiv.: 2.30
Kraj: Levec

PrispevekObjavljeno: Čet Mar 31, 2016 9:07 pm    Naslov sporočila:   Odgovori s citatom

Namesto spremenljivke sensor daš notri svojo spremenljivko, for zanko za primerjavo in izpis pa daš v funkcijo in samo pošlješ v funkcijo podatek, ostalo naredi funkcija. Sem se še malo poigral, mogoče bolj pregledno Smile


Koda:

void setup()
{
   Serial.begin(9600);
}

void binaren_izpis(byte podatek)
{
   for (byte mask = 0x80; mask; mask >>= 1)
   {
   Serial.print(mask&podatek?'1':'0');
   }
}
 
byte moj_podatek = 0;


void loop()
{
   moj_podatek++;
   binaren_izpis(moj_podatek);
   Serial.println();
   delay(1000);
}

_________________
"The statement below is false."
"The statement above is true."
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5766
Aktiv.: 25.97
Kraj: Grosuplje

PrispevekObjavljeno: Pet Apr 01, 2016 1:13 am    Naslov sporočila:   Odgovori s citatom

Vilko, Rotate.
_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



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

PrispevekObjavljeno: Pet Apr 01, 2016 7:45 am    Naslov sporočila:   Odgovori s citatom

Saj pravim. Mučenje kristjanov.

Se spominjate starega Commodore-a 64? Ta je imel rotate ukaz v assemblerju.

Hvala za trud, Bom že štrikal in sinu zaračunal ure.

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



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

PrispevekObjavljeno: Pet Apr 01, 2016 7:46 am    Naslov sporočila:   Odgovori s citatom

Saj pravim. Mučenje kristjanov.

Se spominjate starega Commodore-a 64? Ta je imel rotate ukaz v assemblerju.

Hvala za trud, Bom že štrikal in sinu zaračunal ure.

_________________
Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Č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: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group