Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

wielkokrotne uzycie config 1wire

ky3orr
-
-
Posty:20
Rejestracja:25 lut 2004, o 16:02
Kontaktowanie:
wielkokrotne uzycie config 1wire

Postautor: ky3orr » 27 lis 2004, o 16:21

witam!

czy jest mozliwe wielokrotne uzycie config 1wire tak jak na ponizszym listingu?

Aktywny_termometr = 0 'zewnetrzny
Config 1wire = P3.0
Call Odczyt_temperatury
Aktywny_termometr = 1 'wewnetrzny
Config 1wire = P3.1
Call Odczyt_temperatury
Call Wyswietl_wyniki
Wait 2

dodam ze o dziwo program odczytuje dane ale z termometru 2., do ktorego config jest podany jako drugi...
w wynikach pojawiaja mi sie dane z tego wlasnie termometru.
nigdzie takze nie mam bledu (err=0 po 1wreset).
nigdzie indziej w kodzie nie pojawia sie wiecej config 1wire.


wsze info mile widziane :)

pozdro4all

Sanjuro
-
-
Posty:54
Rejestracja:20 lis 2003, o 17:00

Postautor: Sanjuro » 27 lis 2004, o 19:10

Panie poczytaj w helpie o poleceniach 1wire znajdziesz napewno no chyba ze jestes leniem do ntej to.

Zeby uzywac wiecej portow 1wire nie stosujesz konfig, tylko odpowiednie parametry po poleceniu.

Kod: Zaznacz cały

1wreset Port , nrWypr 1wwrite dane , ile , Port , nrWypr x = 1wread(ile , Port , nrWypr)
gdzie: Port - port do ktorego jest podlaczony dany czujnik (Pina, Pinb, Pinc itp)
nrWypr - czyli do ktorego wypr portu jest przylaczony (od 0 do 7 zalezy ile dany port ma wyprowadzen)
dane - czyli co wpisujemy
ile - ile bajtow ma zostac wpisane/odczytane
x -chyba wiadomo co moze oznaczac[/code]

ky3orr
-
-
Posty:20
Rejestracja:25 lut 2004, o 16:02
Kontaktowanie:

Postautor: ky3orr » 27 lis 2004, o 19:26

serdeczna dzieka za info.
moje niedopatrzenie.

thnx

dopatrzylem sie jednak bledu w Twoim poscie:
otorz pomiedzy portem, a numerem pinu musi byc kropka a nie przecinek.
taka jest konwencja. P3.0 a nie P3,0

mimo tego iz poczytalem w manualu, to po wywolaniu 1wreset p3.0 mam blad 120:
label not found [_RESETDS_P3.0]

zupelnie nie wiem jak to skompilowac :(
1wreset na inny pin tez nie dziala - nie kompiluje

Sanjuro
-
-
Posty:54
Rejestracja:20 lis 2003, o 17:00

Postautor: Sanjuro » 28 lis 2004, o 12:10

Ups. Sory moje niedopatrzenie, ze piszedz Px.y a nie Portn.y. Ja pisalem o BascomAVR :) Ale rzeczywiscie masz racje co do sposobu zapisu portu. Co do tego bledu to nie mam zielonego pojecia. Chociarz jak patrze na helpa do 51 to widze ze oni aliasuja port. Moze to jest przyczyna twojego bledu podczas kompilacji. Sprobuj zaliasowac wczesniej port:

Kod: Zaznacz cały

TwojaNazwa Alias P3.0

ky3orr
-
-
Posty:20
Rejestracja:25 lut 2004, o 16:02
Kontaktowanie:

Postautor: ky3orr » 28 lis 2004, o 13:39

heh

mam tak:

Ds18b20_1 Alias P3.0
Ds18b20_2 Alias P3.1

a potem:

do
Aktywny_termometr = 0 'zewnetrzny
Call Odczyt_temperatury
Aktywny_termometr = 1 'wewnetrzny
Call Odczyt_temperatury
Call Wyswietl_wyniki
Wait 2
loop

w podprogramach odczyt_temperatury wybierane sa odpowiednie parametry dla transmisji 1wire na podstawie aktywny_termometr.

bkad jest taki sam, nawet jak zmienie na konkretne piny przy 1wreset (innych polecen na razie nie daje bo najierw musze przejsc 1wreset) (zamiast ds18b20_1 lub _2)

jedyna poprawe przynisi wyrzucenie tych linijek kodu ktore chca uzywac 1wire dla roznych pinow.

mysle ze napisze do Marka Albertsa z MCS i zapytam go czy czasem nie jest taz ze help mowi co innego niz potraafi kompilator :)

pozdro

[ Dodano: 30-11-2004, 12:43 ]
napisalem w tej sprawie na forum mcs.
odpowiedzial mi sam autor.
polecil mi update do wersji 2.0.11.0 z mojej 2.0.8.0

niestety nic sie nie zmienilo :(

czy ktos z Was ma podobne problemy?
kompiluje sie Wam cos takiego na bascom 8051:
ds alias p3.0
1wreset ds
?

uzywam winxp sp1

pozdro4all

Gipsuś
-
-
Posty:1
Rejestracja:14 gru 2004, o 19:38
Lokalizacja:Krakow

Wielokrotne 1wire

Postautor: Gipsuś » 14 gru 2004, o 19:47

Witam

W helpie i w Bascom Basic AVR Pana Gibka(z internetu) jest trochę na ten temat. Osobiscie używam różnych portów 1wire w rożnych procedurach. Pod kolejnym Sub definiuje Config 1wire i pod tym sub dziala. W nowej wersji Bascoma mozna też używać np:
1wreset Pind , 4
1wwrite &HCC , 1 , Pind , 4
1wwrite &H44 , 1 , Pind , 4
Wait 1 'przerwa na konwersje
1wreset Pind , 4
1wwrite &HCC , 1 , Pind , 4
1wwrite &HBE , 1 , Pind , 4

Pozdrawiam

ky3orr
-
-
Posty:20
Rejestracja:25 lut 2004, o 16:02
Kontaktowanie:

Postautor: ky3orr » 14 gru 2004, o 22:21

doskonale orientuje sie ze pod Bascomem AVR to dziala, ale ni cholery pod 8051.

pch
-
-
Posty:23
Rejestracja:27 maja 2003, o 06:56
Lokalizacja:Gdańsk
Kontaktowanie:

Postautor: pch » 29 gru 2004, o 12:24

Term_1 Alias P1.7
Term_2 Alias P1.6

....


do
loop

Inicjuj_termometry:
1wreset Term_1
1wwrite &HCC Term_1
1wwrite &H44 Term_1
1wreset Term_2
1wwrite &HCC Term_2
1wwrite &H44 Term_2
Return

Odczytaj_temperature:
1wreset Term_1
1wwrite &HCC Term_1
1wwrite &HBE Term_1
T(1) = 1wread(2 , Term_1) '< temperatura termometru 1 do dalszych obliczeń
1wreset Term_1

'tu zrób coś z temperaturą 1 np wyświetl albo coś

1wreset Term_2
1wwrite &HCC Term_2
1wwrite &HBE Term_2
T(1) = 1wread(2 , Term_2) '< temperatura termometru 2 do dalszych obliczeń
1wreset Term_2

'tu jak wyżej tylko z temperaturą 2

Return

Inicjuj i odczytuj naprzemiennie co ~ pół sekundy. I tylko nie pisz, że nie działa bo działa i to całkiem nieźle ;)

PC

ky3orr
-
-
Posty:20
Rejestracja:25 lut 2004, o 16:02
Kontaktowanie:

Postautor: ky3orr » 29 gru 2004, o 16:08

serdeczne dzieki za pomoc.

pomimo ze jest to soft dosc podobny do mojego niestety nie dziala.
wydaje mi sie ze mam wysypany kompilator :)

poki co zrobilem sobie na avr i smiga bez problemu.

dzieki
pozdro4all

pch
-
-
Posty:23
Rejestracja:27 maja 2003, o 06:56
Lokalizacja:Gdańsk
Kontaktowanie:

Postautor: pch » 29 gru 2004, o 18:26

Nie wiem jaki komunikat się pojawia jak dojdziesz do 2kB kodu wynikowego w wersji DEMO. Może to to. Kod który Ci podałem dziala na pewno.

PC

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 51 gości