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 

Kako v Arduinu definiram konstanto v hex obliki?
Pojdi na stran 1, 2  Naslednja
 
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: Sre Mar 30, 2016 8:28 am    Naslov sporočila:  Kako v Arduinu definiram konstanto v hex obliki? Odgovori s citatom

Včasih mi &H7E več pomeni kot ekvivalent 127

To je recimo I2C naslov IO expanderja PCF8574A za pisanje

Kako napišem pravilno

byte PCF8574Awriteadddress = ..7E ? 127 mi tukaj 'ne paše'.

_________________
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
Minimal
Član
Član



Pridružen-a: Pet 31 Avg 2012 10:03
Prispevkov: 66
Aktiv.: 0.47
Kraj: Obala

PrispevekObjavljeno: Sre Mar 30, 2016 9:25 am    Naslov sporočila:   Odgovori s citatom

0x7E bi moralo delovati.
LP

_________________
Vsak začetek najde svojo pot
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Branez
Moderator
Moderator



Pridružen-a: Pon 14 Apr 2003 7:21
Prispevkov: 7768
Aktiv.: 34.98
Kraj: Koprivnica HR

PrispevekObjavljeno: Sre Mar 30, 2016 10:05 am    Naslov sporočila:   Odgovori s citatom

Koda:
#include <LCD.h>
#include <LiquidCrystal_I2C.h>  // F Malpartida's NewLiquidCrystal library
.
.
.
#define I2C_ADDR    0x70 >> 1 // I2C address PCF8574A
Ali kakšen je pač tvoj naslov. To jaz uporabljam.
_________________
The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!

Albert Einstein
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Član
Član



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

PrispevekObjavljeno: Sre Mar 30, 2016 10:44 am    Naslov sporočila:   Odgovori s citatom

Ja, Hvala,

0x7E je prebavil.

Zaletavam se v formalne razlike..

Pri meni bo PCF8574A (z address pini na High) krmilil releje. Pravzaprav jih že krmili, a sedaj v Bscomu. Morda bom samo procesor zamenjal in na obstoječi TIV, ki ga sedaj upravlja Atmel mega644p vezal enega od arduinov. Sem sicer površno gledal, toda, izgleda, da arduino uporablja ali atmel 328 ali mega 2560 in nič vmes.
Morda 328 ne bo dovolj velik, no, ja, bo pa 2560 imel nekaj prostih bajtov.

Razmišljam kako praktično to narediti. mali arduino ima iglice, ki bi jih kar porinil v neko prilagoditveno tiv vezje, ki bi ga nabodel na mega644p podnožje, pri mega2560 si bo treba izmisliti kaj več.

Sedaj program v bascomu na 644p potrebuje cca 40000 bajtov prograamskega spomina. Res da nisem pazil na to, da bi porabil čim manj bajtov, a se mi zdi, da bo arduino z vsemi mogočimi bibliotekami, ki jih moram vključiti v program porabil še več. Tako, da nimam velikega upanja, da bi stvar spravil na 328.

_________________
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
Branez
Moderator
Moderator



Pridružen-a: Pon 14 Apr 2003 7:21
Prispevkov: 7768
Aktiv.: 34.98
Kraj: Koprivnica HR

PrispevekObjavljeno: Sre Mar 30, 2016 11:03 am    Naslov sporočila:   Odgovori s citatom

Klik in še en klik tam, pa je gotovo!
_________________
The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!

Albert Einstein
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Sre Mar 30, 2016 12:24 pm    Naslov sporočila:   Odgovori s citatom

Zelo kmalu ti bo prišla prav še binarna oblika števil.
Koda:
#define B7je1 B10000000 // Bit (0 ... 7) je (0 ... 1)
#define B6je1 B01000000
#define B5je1 B00100000
#define B4je1 B00010000
#define B3je1 B00001000
#define B2je1 B00000100
#define B1je1 B00000010
#define B0je1 B00000001
#define B7je0 B01111111
#define B6je0 B10111111
#define B5je0 B11011111
#define B4je0 B11101111
#define B3je0 B11110111
#define B2je0 B11111011
#define B1je0 B11111101
#define B0je0 B11111110
Jaz to uporabljam za vklop/izklop posameznega bita v 8-bitni spremenljivki in za preverjanje stanja posameznega bita (beri: Naveličal sem se stalnega preračunavanja med bin , dec in hex).

Potem to izgleda takole:
Koda:
  spremenljivka = spremenljivka | B3je1; // OR Vklopi bit 3
  spremenljivka = spremenljivka & B5je0; // AND Izklopi bit 5
  spremenljivka = spremenljivka ^ B7je1; // XOR: Spremeni stanje bita 7
  if((spremenljivka & B6je1) == B6je1) // Če je B6 enak 1
...
  while(spremenljivka & B2je1) // dokler je B2 enak 1
...
  if((spremenljivka & B1je1) == 0) // Če je B1 enak 0
...


Takole pa pošlješ 4 x 8 bitov na serial - to - parallel - register
Koda:
void PiseREL()    // TO FUNKCIJO SE KLICE ZA PISANJE NA 32 RELEJSKIH IZHODOV (4 x 74HC595), MSB najprej
{
/*
#define   pinRd A15  //  Izhodi DATA
#define   pinRp A13  //  Izhodi Pisi
#define   pinRc A11  //  Izhodi CLK
  pinMode(pinRp, OUTPUT); //  Izhodi Pisi SERial2PARallel
  pinMode(pinRc, OUTPUT); //  Izhodi CLK
  pinMode(pinRd, OUTPUT); //  Izhodi DATA
*/
    PiseRELz(bitiREL3);
    PiseRELz(bitiREL2);
    PiseRELz(bitiREL1);
    PiseRELz(bitiREL0);

    digitalWrite(pinRp, HIGH);  // impulz na pin PIŠI prenese vse serijske bite na izhode
    digitalWrite(pinRp, LOW);  // pin PIŠI
}
//////////////////////////////////////////////////
void PiseRELz(char k) // (spremenljivka) ZANKA // CHAR JE UNSIGNED, shiftanje v desno 10000000 -> 01000000 spredaj dodaja ničle
{
  j = B7je1; // B10000000 ; // MASKA, 1 se pomika v desno
  for(i=0; i<8; i++)
  {
    if ((k & j) != 0 )  // spremenljivka AND maska
    {
      digitalWrite(pinRd, HIGH );  //  pošlje bit
    }
    else
    {
      digitalWrite(pinRd, LOW );  //  pošlje bit
    }
    digitalWrite(pinRc, HIGH);  // impulz na CLK pin za izhodeR
    digitalWrite(pinRc, LOW);  // pin CLK
    j = j >> 1; // ZACNE NA BITU 7
  }
}

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
rafaellsi
Član
Član



Pridružen-a: Ned 11 Sep 2011 18:54
Prispevkov: 477
Aktiv.: 3.12
Kraj: Radovljica

PrispevekObjavljeno: Sre Mar 30, 2016 1:48 pm    Naslov sporočila:   Odgovori s citatom

vilko je napisal/a:


Sedaj program v bascomu na 644p potrebuje cca 40000 bajtov prograamskega spomina. Res da nisem pazil na to, da bi porabil čim manj bajtov, a se mi zdi, da bo arduino z vsemi mogočimi bibliotekami, ki jih moram vključiti v program porabil še več. Tako, da nimam velikega upanja, da bi stvar spravil na 328.


Za starjše verzije Arduino okolja (verzije 1.0.x) se je dalo dobiti (neuradno) podporo oz. Arduino bootloader za procesorje 644 in 1284.... Nekatrei krmilniki za 3D printerje so zgrajeni okoli teh procesorjev, 644 - sanguino in 1284 - Melzi ali mogoče Mighty1284 zato mislim da bi se moralo dobit "knjžnice" tudi za novejše verzije arduino okolja. Mogoče tule. Teh knjižnic nisem preizkušal, mi je pa lepo delovala podpora za 1284 (Melzi controler) v strejših različicah arduina ......


Nazadnje urejal/a rafaellsi Sre Mar 30, 2016 1:49 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



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

PrispevekObjavljeno: Sre Mar 30, 2016 1:48 pm    Naslov sporočila:   Odgovori s citatom

vilko je napisal/a:
.....izgleda, da arduino uporablja ali atmel 328 ali mega 2560 in nič vmes........
Vilko tole definitivno ne drži, v Arduino IDE okolju lahko pišeš programe od ATtiny-a naprej, samo definicije za posamezni MCU je potrebno v IDE vnesti.

Za mego644(1284) imaš zadetkov na Netu malo morje, tako na Arduino.cc strani, kot drugje, samo eden med množico prav tako tudi za ostale MCUje.
Z Googlom išči enostavno npr.: "ATmega644 Arduino" ali pa "ATtiny Arduino"......

rafaellsi, tudi v zadnjih verzijah Arduino IDE zadeve delujejo!

_________________
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: Sre Mar 30, 2016 5:52 pm    Naslov sporočila:   Odgovori s citatom

Kar sram me je, moram priznati popolno nevednost na tem področju in hvala za napotke.
Sedaj me čaka branje dokumentacije in potem veliko vprašanj, s katerimi se vrnem k vam.

Če vas prav razumem, bom lahko z Arduino okoljem programiral vsebino 644p procesorja in ga celo programiral v samem vezju preko Miso Mosi Clk Rst pinov, se pravi ne bo potrebno nič spreminjati na hadrware-u, le program moram narediti v pravem ide okolju in ga pretočiti v že delujoče okolje. Ja, to je olajšanje.

Igo hvala za binarno postavljanje bitov poimensko, bo prišlo prav.


A, ja, še to: Ali je kdo od vas to pot že prehodil in jo pozna, ali jo poznate samo 's prstom po zemljevidu', se pravi veste, da obstoja, po tej poti pa še niste hodili ?

Saj vem, da bi sedaj rad še zlato uro, ampak, če je kdo na tej poti že odmikal kamne, zakaj bi se ob njih spotikal jaz.

Hvala vsem!

_________________
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
Jaka57
Moderator
Moderator



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

PrispevekObjavljeno: Sre Mar 30, 2016 8:26 pm    Naslov sporočila:   Odgovori s citatom

vilko je napisal/a:
Kar sram me je,............


Hej, možakar, tudi slučajno naj te ne bo sram!
Večina v tvojih letih ve, kakšno je spopadanje z novimi stvarmi, pri čemer ni problem razumevanja temveč problem pomnenja!
Torej, brez filozofiranja, povedal si zakaj C (Arduino IDE) in mi je popolnoma jasno.
Torej, ne se ženirat in vprašaj, bodi prepričan, da bomo pomagali!

In brez neumnosti, kot v citiranem besedilu!
Kar nekaj nas je v tvojih letih Brick wall

Drugače pa, Vilko, mislim, da bi bilo enostavneje, ne prevajat iz Bascoma, temveč, če že moraš, napisat vse skupaj jovo na novo. Knjižnjice imaš za vso periferijo, torej, kakšnega Arduinčka, napišeš program, prešaltaš hardware na to plato in probaš..., seveda ne gre v prvo, popraviš in zopet probaš.....
Algoritme za kompletno zadevo imaš, če ne drugače jih imaš v svoji glavi (tako kot je v naši navadi, slabi, roko na srce), daj jih na papir in začni znova, obstoječi sistem bo še vedno delal!

PS Oba tvoja zadnja posta sem združil v enega, upam, da ne bo hude krvi.

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



Pridružen-a: Sob 07 Okt 2006 0:07
Prispevkov: 120
Aktiv.: 0.56
Kraj: Ljubljana

PrispevekObjavljeno: Sre Mar 30, 2016 11:44 pm    Naslov sporočila:   Odgovori s citatom

Vilko, v parih besedah bom predstavil moj način programiranja AX VHF / UHF postaje v Arduino okolju.

Kompleten program sem razvil na Arduino Nano plošči, nanjo sem priklopil Nokia LCD in Enkoder s tipko. Vse povezave sem naredil identične kot na originalnem tiskanem vezju. Tako sem oblikoval prikaz na LCD - ju, Preko monitorja na serijskem portu sem tudi pregledoval ali program pravilno pošilja podatke preko UARTa na oddajno - sprejemni modul. IDE sem nastavil tako, da programiram Arduino nano - AtMega328p.
Ko sem bil zadovoljen s programom, sem zamenjal ploščo in sicer postaja uporablja isti procesor, samo z notranjim oscilatorjem torej deluje na 8MHz. V nastavitvah sem poiskal arduino ploščo, ki ima enak procesor in enako hitrost ure. Program sem še enkrat prevedel z novo ploščo. Potem sem poiskal HEX datoteko in jo na procesor od postaje zapekel z navadnim ISP programatorjem. Procesor sem vstavil v postajo in postaja je oživela.

Meni se je tak pristop zdel zelo enostaven, saj sem večino testiranja lahko naredil tako, da sem program nalagal preko usb. Končno verzijo pa klasično preko programatorja direktno na procesor postaje.

Upam, da sem pomagal in da nisem vse skupaj napisal preveč komplicirano.

_________________
Lep pozdrav!

Marko S.
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 3:57 pm    Naslov sporočila:   Odgovori s citatom

cimer je napisal/a:
V nastavitvah sem poiskal arduino ploščo, ki ima enak procesor in enako hitrost ure.


Hvala, cimer, Le sam ne najdem, kje v nastavitvah Arduinota na PC-u izberem procesor atmelmega644p in kje frekvenco 11059200Hz (ki jo uporabljam pri vseh mojih projektih zaradi povezljivosti)

Pod 'Orodja->Plošča sicer dobim seznam nekih neznanih mi plošč, (poznam samo Uno, Mini, Nano in Mega) a nikjer, kateri procesor ali celo frekvenco kristala.

Mi bo v veliko pomoč, če me vodiš.
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
cimer
Član
Član



Pridružen-a: Sob 07 Okt 2006 0:07
Prispevkov: 120
Aktiv.: 0.56
Kraj: Ljubljana

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

Pozdrav Vilko,

pogledam za tvoj primer, daj mi kak dan....

_________________
Lep pozdrav!

Marko S.
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 9:59 pm    Naslov sporočila:   Odgovori s citatom

Dobrodošel boš!

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
Jaka57
Moderator
Moderator



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

PrispevekObjavljeno: Pet Apr 01, 2016 12:59 am    Naslov sporočila:   Odgovori s citatom

Vilko, sicer ne vem, kateri Arduino IDE imaš inštaliran, predpostavljam pa, da enega zadnjih.
V prilogi je rar datoteka, ki jo razpakiraš v mapo kjer so tvoji sketchi (programi).
Kje so pogledaš v Datoteka->Nastavitve ali z bljižnjico <Ctrl>+ <vejica>. Moralo bi se odpreti okno kot je spodaj na sliki. Pot do skicirke (sketchev) sem obkrožil z rdečim.

Ko ponovno zaženeš Arduino IDE in greš v Orodja in klikneš na Plošča se mora pojaviti čisto na dnu plošča z imenom Vilko.

Ko imaš enkrat izbrano lahko izbereš procesor (takoj pod plošča).

Toda, prevesti je potrebno še Bootloader za to frekvenco, če želiš nalaganje tvojega programa preko njega. MCU se potem programira direktno iz Arduino IDE preko RXD0(PD0) in TXD0(PD1) portov.



hardware.rar
 Opis:

Download
 Ime datoteke:  hardware.rar
 Velikost datoteke:  171.09 KB
 Downloadano:  1 krat


_________________
Lp, Jaka
Nazaj na vrh
Skrit 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
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: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group