Fórum témák
» Több friss téma |
Elgondolkoztató kérdések. Holnap kiderül melyik megoldás lesz a működőképes. Köszönöm a segítséget.
Létezhet, hogy 16Fxxx és 18Fxxx vezérlőkhöz más-más kódot generál a Flowcode? A segítség szerint (melléklet) elég három makró utasítás egy DS18B20 esetén. Én próbáltam ezt 16F690-es és 16F886-ossal is, minden lábról működött (kivéve MCLR). Viszont a te programod és kiskata programja egyaránt 18Fxxx vezérlőkre íródtak.
Igen mást generál, de ez a PIC miatt van, másak az utasítások, illetve a 18F-ben több van.
Én az adatlap szerint járok el, nem tudom hogyan lehetne másképp, és hogy milyen trükökkel, vagy minimalizálással működhet még, inkább maradok a biztosnál.
Ez egy illetve több DS esetén alkalmazható eljárás. Ha csak egy van sokkal egyszerűbb. Valamint az nem mindegy, hogy megakad-e a konverzió idejére a program. A példámban megszakításban kezelem le a konverzió elkészültét és nem használom a Flowcode béna megoldását.
A hozzászólás módosítva: Márc 26, 2013
Ezt értem. Viszont, ez a megoldás nálam működött, kiskatánál pedig nem. Ezért nézek bután, mi lehet a különbség.
Kedves Fiúk!
Találtam egy ilyen multiszenzoros megoldást. A0 porton működik. Megpróbálom összeházasítani az eddig működővel. Hátha sikerül.
Az a baj ezekkel az automata felismerő rutinokkal, hogy nem tudod majd, melyik milyen fizikai pozícióban van. Persze utána megfogod és látod, melyik melyik, de erre nem mindig van lehetőség egy program írásakor. Joban szeretem, ha magam kiolvasom az eszköz címét, megjelölöm, majd utána oda teszem ahová és úgy címzem ahogy kell. A programot úgy is ki lehet alakítani, hogy a címet kívülről be lehessen állítani, így később egy cserénél nem kell programozni a PIC-et. Igaz, kell valamilyen kommunikációs port(pl. RS232, 485, SPI stb.) és hozzá egy terminál, vagy esetleg LCD kijelző és menüből bevinni a címet. Sok megoldás van, talán meg lehet találni a megfelelőt...
Én is arra hajlok hogy amikor egy új DS-t észlel a rendszer akkor megkérdezi majd hogy ez a szenzor melyik azonosítójú lesz. Illetve a sorozatszámot hozzá lehet rendelni kézzel az azonosítóhoz. Küzdök.
Te akkor ezekszerint elörébb vagy a dologgal mint én, nem vágom hogy hogy tudom megkérdezni egy adott eszköznek a címét. Egyszerüen számomra bonyolult a dolog de meg fogom érteni. Azért ha jutsz valamire akkor oszd meg
Pedig egyszerű, de direkt kiolvasásokat is kell használni, de ezek is meg vannak írva. Tehát a sorrend.
oo_busreset oo_tx_byte(0x33) //READROM //ciklusban 9x) oo_rx_byte //9 bájt kiolvasása amiből a 9. a CRC kód az első nyolc a DS azonosító címe.
Köszi, majd kiprobálom. A ciklus az miért 9, ha nekem csak pl 2 darab DS van akkor nem elég pl 3?
Ez tényleg távoli még.
Idézet: „9 bájt kiolvasása amiből a 9. a CRC kód az első nyolc a DS azonosító címe” Tehát: 1(a) 2(z) 3(o) 4(n) 5(o) 6(s) 7(i) 8(t) : 9( CRC )
Nézd meg a DS adatlapját, láthatod, hogy a címe 8 bájtos. Ezt kell kiolvasnod(oo_rx_byte), és ezzel kell megszólítanod, ha akarsz tőle valamit. Fontos, hogy a cím kiolvasásakor csak egy DS legyen a vonalon! Tehát ezt előre meg kell csinálni egyenként, és utána felhasználni a kapott címeket az eszközök megszólítására.
Köszönöm neked is és Watt-nak is, igy már érthető.
Idézet: „Fontos, hogy a cím kiolvasásakor csak egy DS legyen a vonalon!” Ennek nem mond ellent ez a videó ? Video Ez egy kicsit megzavart... Vissza a kályhához A hozzászólás módosítva: Márc 28, 2013
Két módszer van. A bonyolultabb, hogy felismerteted őket a gyári leírásban szereplő algoritmussal, amit alig értek, de a Flowcode - szerintem butított verzióját - ismeri.
A másik, hogy egyenként megállapítod a címeket és utána ezeket használod. Ez nekem kézzelfoghatóbb és legalább tudom, melyiket hová teszem. A hozzászólás módosítva: Márc 28, 2013
Idáig jutottam... 1-4 db szenzor helyezhető fel a busz-ra.
Kiolvassa a sorozatszámot és megjeleníti. Menet közben is kicserélhetőek a DS-ek. azt még nem tudom hogy hogyan lehet ebből az értékből a valóban lézeresen rágravírozott számot produkálni, kiszámolni Próbálom a hőmérséklet értéket kiolvasni, de csak sajnos még csak az egyik szenzorról érkezőket teszi be minden szenzorhoz. Biztos elnézek valamit. Nem hajlandó a busreset , read_device, get_temp parancsok után a megfelelő ID-jű DS hőmérséklet értékét visszaadni. Kellemes húsvétot mindenkinek!
Sziasztok
Szívesen venném ha valaki tudna segíteni nekem a Flowcode 5 és 4 fordítási beállításaiban. Milyen opciók vannak, és mi mit jelent? Esetleg hol található használható leírás róla? Köszönettel Jony. * A hozzászólás módosítva: Ápr 2, 2013
Idézet: „A problémám az hogy Proteusban a szolga is adja az órajelet és a mester is.” Ez elég nagy baj lenne! Nyílván csak a mester adhat órajelet, és csak ő kezdeményezhez írást illetve egyidőben kiolvasást. A Proteust nem használom, nem tudom miért ilyen, de ha ilyen, akkor hibás, vagy valamit nem jól értelmeztél.
Benne van a help-ben!
Ez könnyen lehet. Azt nem értettem, hogy PIC-PIC SPI csatolást akarsz, azt hittem, valami SPI eszközről van szó, amit a Proteus rosszul szimulál. Kénytelen leszel C-blokkban beállítani a Slave-t.
A hozzászólás módosítva: Ápr 2, 2013
Semmi értelme SPI-től eltérni, ha van elég CS láb! Ennél egyszerűbb és gyorsabb nincs(kivéve a párhuzamos portot, de az talán itt nem játszik...).
Sziasztok
Hogy tudom a 4karakteres 7szegmenses kijelzönél megfordittani a müködését? Hogy ne közös anod hanem közös katod legyen?
-- mellé --
A hozzászólás módosítva: Ápr 2, 2013
Nem érdekes, hülyeséget írtam, de időben észbekaptam és módosítottam.
|
Bejelentkezés
Hirdetés |