1-wire Iskanje ROM rutinsko

I

Inkwaterman

Guest
Živjo!
Moram vmesnik a PIC na 1-wire bus 3 naprave.

Imam samo nekaj 1-wire naprave, vendar sem se ne uporablja za 1-wire bus.

Je kdo naredil 1-wire Iskanje ROM rutinsko?

Če je mogoče, se lahko po mi izvorno kodo?

Tnx

 
Živjo,
i am da tudi vmesnik med mikrokrmilniška MSP430f149 in multilple ibuttons napravami prek Transport DS2484.iskanje algorithem zdaj pišem, ampak to ni dokončanje ... i am tudi ugotovitev nekom, ki ima nekaj idej o tem ... če u got nekaterih rešitev PLZ obvesti me tudi .. Irfan

 
Živjo!

v mojem primeru sem vmesnik približno 1-wire naprave z mikročipnim PIC, za to naredil sem uporabil PIC's PIN, brez Transport DS2484.

Če želite, lahko ti po mojem kodo, da dobro deluje.

Edina stvar, ki moraš narediti je, da se jo prilagodi vašim zahtevam ..

S spoštovanjem

 
Živjo ..bo lepo, če u spodbuda mi ur code ... i se bodo spremenili po moje zahteve ... ker osnovno iskanje algorithum delo na isti način .. Čakam Ur odgovor najlepša hvala Irfan

 
Imam 1-wire Iskanje ROM rutinsko napišete v CCS.Če ste zainteresirani, i post it.

 
hi martinisonline,

Zanima me tudi.lahko objavite ste kodo?

s spoštovanjem,
stromi

 
I atached celoten delovni projekt i naredil nekaj časa nazaj.To je približno DS1820 (Digital Senzor temperature), ki deluje prek onewire avtobus.

To vključuje:
onewire.c voznika
ds1820.c voznika
main.c datoteka projekta.

To bo iskanje vseh naprav atached na avtobus in jih indeksira.Če se ena naprava je izklopljen ali povezan, se bo izvajal novi indeks iskanja.

datoteke imajo nekaj pripomb v angleščina in večina od njih v Portugalščina.Če imate nekatere težave, post it.
Oprosti, ampak, kar potrebujete za prijavo v to prilogo, da si ogledate

 
lepo delo zelo koristno zame, hvala

s spoštovanjem,
stromi

 
Tnx za kodo, sem poskusila in prevajalnik ne bi mogel najti LCD voznika in glavo za 1820.

Ali je mogoče naložiti to preveč.

S spoštovanjem

Bojan

 
Voznik za ds1820 je že pritrjena v prejšnji točki.boste potrebovali, da bi jo v C: \ ??????? \ PICC \ Drivers.ali določite v možnostih v CCS drug imenik za voznike.

Voznik za flex_LCD ni bila z mano, vendar je koristno Komentar.to je enostavno razumeti.
Oprosti, ampak, kar potrebujete za prijavo v to prilogo, da si ogledate

 
Končno sem se, zelo koristna,
TNXKodo dela v moji test krovu.Ampak zdaj imam nove težave.

Nimam debagger vezje za testiranje koda korak za korakom.

Katere spremenljivke prisotna temperatura?

Bojan

 
Na main.c datoteke po "lcd_init ()":

Procurar (); -> iskanje vseh naprav v avtobusu

convert_temp (); -> pošlji na avtobus kodo za zagon za konverzijo temperature za vse naprave.

read_temp (dados, i); -> odčitamo vrednost pripomoček 'i' in jo shranite v spremenljivko "dados"

trata_temperatura (dados), -> Ali matematični izračun, da se podaljša resolucije (glej ds1820 obrazcu, pag. 4) in postavite vrednost na "inteiro" in "decimalno"je vrednost temperature je znan po funkciji "trata_temperatura (dados);"
Vrednost: AA, BB SC če: LP -> "Inteiro 'in BB ->" Decimal "

You need to format za printf, kot je na primer main.c:
printf (lcd_putc, "Int.:% 02u% 02u" C ", inteiro, decimalno);

sem imel 2 senzorjev.znotraj ene in druge zunaj.V Int.: V LCD je notri temp.in Ext.: je zunaj temp.

 
HI

I je bila uspešna, tako da se glasi 64 bit ROM naslov iz mojega 18S20 in manualy napisal, da program.
Program zazna senzor, vendar "ne kažejo pravilno temperature.LCD alveys kažejo
3,39 C celo do črva senzor s prsti.

Kakšna ideja, kje je problem?

Regards Bojan

 
Verjetno je težava v funtion "read_temp (dados, i)".Po funtion "Procurar ()", program "našteva" naprav (1, 2, 3, ...).pojdi na onewire.c voznika, na funtion "neveljaven FindDevices (ničen)" izbrisati \ * in * \:

Citat://************************************************ ******************************

/ / DESCRIÇÃO: Procura novos dispositivos no avtobus

/ /

/ / Input: Nada

/ /

/ / IZHOD: Nada//------------------------------------------------ ------------------------------

FindDevices neveljaven (ničen)

(

int8 m;if (! ow_reset ())

(

če (First ()) / / Begins pri najmanj eni strani ugotovila,

(

numROMs = 0;narediti

(

numROMs ;for (m = 0, m <8 m )

(

FoundROM [numROMs] [m] = ROM [m]; / / Opredeljuje ROM ne.
na napravo

)/ * <--- Izbriši toprintf ( "\ r \ nEndereco do dispositivo št% u:", numROMs);printf ( "% X% x% X% x% X% X% x% X \ n \ r",

FoundROM [numROMs] [7], FoundROM [numROMs] [6], FoundROM [numROMs] [5],

FoundROM [numROMs] [4], FoundROM [numROMs] [3], FoundROM [numROMs] [2],

FoundROM [numROMs] [1], FoundROM [numROMs] [0]);* / <--- Izbriši to) Hkrati (Next () & & (numROMs <10)); / / dokler še ni dodatnih

/ / Najti naprave.

/ / Printf (lcd_putc, "\ fTotal DISP.:% U", numROMs);

/ / Delay_ms (500);

)

)

/ / Putc ( "\ n"); putc ( "\ r ');

)

//************************************************ ******************************
 
Pozdravljeni, sem poskusil kodo zgoraj, pojdi, poskusite prilagoditi ds18b20 .....ki so se prilagodili ....pripombe so v španščini in ne razumejo

 

Welcome to EDABoard.com

Sponsor

Back
Top