Problemy z odczytem kodu DS1990A w Bascomie - ekran LCD pokazuje 8x 255

Bascom i 1-Wire - co jest grane?





Poprzedni Następny
Wiadomość
Spis treści
From: "Henry\(k\)" <tnij_to_henrico_at_nospam_poczta.onet.pl>
Subject: Bascom i 1-Wire - co jest grane?
Date: Sat, 29 Jun 2002 20:25:43 +0200


Hi.
Stukałem sobie jakieś małe projekciki na '51 w asemblerku i dziś pomyślałem
sobie aby zrobić immobilizer do mojego autka na DS1990. Wprawdzie jest kit
AVT-294 ale nie mam najmniejszej ochoty wyrzucać ponad stówki jeśli wala mi
się 5 sztuk 89C2051 (mam też PIC16C84 ale nigdy w tym nie dłubałem i
odłożyłem na potem).
Postanowiłem zrobić go w BASCOM'ie - to mój pierwszy raz :-))
Zrobiłem sobie prosty programik w/g helpa, pająka i na początek 3 diody led
(brak układu, odczytałem, prawidłowy kod). Prog miał odczytać kod, porównać
ze wzorcem i zapalić diodkę jak oki..

I tu jest problem. Nie czyta (??) iButona prawidłowo lub coś jeszce.
Podpięłem w końcu LCD, dałem copy/paste projektu z 8 części Bascom College
(wyciełem tylko E2PROM) i... na wyświetlaczu mignęło 8 razy 255 :-(

Co jest grane?

Niżej listing:
----
$crystal = 4000000
Config 1wire = P1.0 'pin magistrali 1WIRE
Config Lcd = 16 * 1a

Dim Number(8) As Byte
Dim R As Byte
Declare Sub Read_numbers
Cls
Cursor Off

Do
1wreset
If Err = 1 Then
Cls
Lcd "No device!"
Waitms 250
Else
Cls
Call Read_numbers
End If
Loop


Sub Read_numbers
1wwrite &H33
For R = 1 To 8
Number(r) = 1wread()
Next R
Cls
Lcd "Device found!"
For R = 1 To 8
Cls
Waitms 255
Lcd Number(r)
Wait 1
Next R
End Sub
-----

Po pierwsze "Device found!" nie zaświeca się - ale nie ma prawa w tym
programie.
Po drugie czemu 8x 255 (FF)???

Bascom 2.0.9.0
iButony: DS1990A, DS1982, DS1971. Wszystkiego 8 sztuk sprawne bo TMEX czyta
wsio poprawnie.
Port P1.0 podciągnięty do plusa 4k7, kabelka 20cm.

Pozdrofka

PS. i bardzo proszę nie pisać "napisz w asm" bo chcę wiedzieć co jest nie
tak.
--
Henry(k)

Uwaga. Zabezpieczenie antyspamowe.
Z adresu email usuń "tnij_to_"



Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Bascom i 1-Wire - co jest grane?
Date: 30 Jun 2002 02:31:49 +0200


$crystal = 4000000
Czy w opcjach kompilatorach też jest 4MHz?
Czy masz rzeczywiście podłączony kwarc 4MHz?

If Err = 1 Then
Cls
Lcd "No device!"
Waitms 250
Else
Cls
Tu może być drugi błąd. Jeśli czas czyszczenia LCD przekracza czas trzymania
napięcia przez DS1990.
Należy jeszcze raz dać 1WRESET.

Mnie działa bez problemu z DS2402.
pzdr
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Henry\(k\)" <tnij_to_henrico_at_nospam_poczta.onet.pl>
Subject: Re: Bascom i 1-Wire - co jest grane?
Date: Sun, 30 Jun 2002 14:02:05 +0200


Użytkownik "ziel" <zielpro_at_nospam_cavern.pl> napisał w wiadomości
news:DOELJDHHJKPIEKPIGAMEOEIPDGAA.zielpro_at_nospam_cavern.pl...
$crystal = 4000000
Czy w opcjach kompilatorach też jest 4MHz?
Czy masz rzeczywiście podłączony kwarc 4MHz?

Tak mam kwarc 4MHz i tu BASCOM dał dup* na całej swej rozciągłości!

Usunięcie komendy czyszczenia ekranu nic nie dało.
Zmieniłem więc kwarc na 12MHz i... 'wait 1' trwało 3 razy krócej, LCD też
dostał za szybko komendy ale iButton odczytał się!
Wywaliłem więc deklarację $crystal = 4000000 i wsio działa w normalnym
tempie!

Więc:
1. W opcjach kompilatora nie można zejść poniżej 11,059MHz, ale to ma niby
dotyczyć transmisji szeregowej.
2. Jeżeli punkt 1 to po chorobę komenda '$crystal' ???
3. Wniosek: zdaje się transmisja 1wire kożysta z ustawień kwarcu w opcjach
kompilatora a reszta programu z deklaracji $crystal. Paranoja !!! W dodatku
NIGDZIE o tym nie pisze! Czyżby 4MHz było za mało? Przecież najkrótszy
impuls (logiczna jedynka) w iButonie trwa 15 do 60 mikrosekund. Pisząc w asm
1MHz wystarczy!

Czyżby BASCOM nadawał się tylko do mrugania LED'em?

Pozdrofka.

--
Henry(k)

Uwaga. Zabezpieczenie antyspamowe.
Z adresu email usuń "tnij_to_"



Poprzedni Następny
Wiadomość
Spis treści
From: "PP" <no_pawelp_at_nospam_hot.pl>
Subject: Re: Bascom i 1-Wire - co jest grane?
Date: Sun, 30 Jun 2002 16:25:34 +0200


Tak mam kwarc 4MHz i tu BASCOM dał dup* na całej swej rozciągłości!

<ciach...>


)
Masz rację w tym co piszesz, ale może te uwagi lepiej było by przesłać
twórcom BASCOMa.
Nikt z nas chyba Ci tu nic nie pomoże...

/PP






Poprzedni Następny
Wiadomość
Spis treści
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Bascom i 1-Wire - co jest grane?
Date: Sun, 30 Jun 2002 14:48:53 GMT


PP wygenerował manualnie w wiadomości
<afn4bs$ski$1_at_nospam_sunflower.man.poznan.pl> udostępnionej publicznie dnia
Sun, 30 Jun 2002 16:25:34 +0200 co następuje:

Masz rację w tym co piszesz, ale może te uwagi lepiej było by przesłać
twórcom BASCOMa.
Nikt z nas chyba Ci tu nic nie pomoże...

Ale dobrze wiedzieć, o problemach, jakie sprawiają dane narzędzia.

--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]

Poprzedni Następny
Wiadomość
Spis treści
From: "Henry\(k\)" <tnij_to_henrico_at_nospam_poczta.onet.pl>
Subject: Re: Bascom i 1-Wire - co jest grane?
Date: Sun, 30 Jun 2002 17:43:38 +0200



Użytkownik "Marek Lewandowski" <nospam_at_nospam_poczta.onet.pl> napisał w wiadomości
news:afn5qo$fhdgf$1_at_nospam_ID-113053.news.dfncis.de...
PP wygenerował manualnie w wiadomości
<afn4bs$ski$1_at_nospam_sunflower.man.poznan.pl> udostępnionej publicznie dnia
Sun, 30 Jun 2002 16:25:34 +0200 co następuje:

Masz rację w tym co piszesz, ale może te uwagi lepiej było by przesłać
twórcom BASCOMa.
Nikt z nas chyba Ci tu nic nie pomoże...

Ale dobrze wiedzieć, o problemach, jakie sprawiają dane narzędzia.


Właśnie, gdybym wiedział to nie siedział bym 3 godziny co chwilę programując
proca i patrząc co się dzieje tylko albo wstawił bym grzecznie 12MHz albo
usiadł do asm z kwarcem 4MHz.

--
Henry(k)

Uwaga. Zabezpieczenie antyspamowe.
Z adresu email usuń "tnij_to_"



Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Bascom i 1-Wire - co jest grane?
Date: 30 Jun 2002 19:50:19 +0200


1. W opcjach kompilatora nie można zejść poniżej 11,059MHz, ale to ma niby
dotyczyć transmisji szeregowej.
Jakby 1 wire było czymś innym.

2. Jeżeli punkt 1 to po chorobę komenda '$crystal' ???
W helpie opisane jako używane do odmierzania właściwego czasu trawania wait
x.

3. Wniosek: zdaje się transmisja 1wire kożysta z ustawień kwarcu w opcjach
kompilatora a reszta programu z deklaracji $crystal. Paranoja !!!
Znając asembelera nie jest problemem ustalić jaki wpływ na generowany
program ma dyrektywa $crystal i ustawienia w opcjach kompilatora.

W dodatku
NIGDZIE o tym nie pisze! Czyżby 4MHz było za mało? Przecież najkrótszy
impuls (logiczna jedynka) w iButonie trwa 15 do 60 mikrosekund.
A i owszem pisali, na forum BASCOM'a.
Z tego co wiem, ludzie na ogół starają się używać większej szybkości i mieć
ją w zapasie, niż później zmieniać program na bardziej wydajny.

Pisząc w asm
1MHz wystarczy!
A to już może być problematyczne. ;-)


Czyżby BASCOM nadawał się tylko do mrugania LED'em?
Nie, nadaje się do dość złożonych programów, tylko trzeba dobrze go poznać
oraz równie dobrze znać wymagania dołączonych układów.
A faktyczna znajomość asmblera zawsze się przyda i nawet w tak prostacki
programie jest nie odzowna.
pzdr
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Henry\(k\)" <tnij_to_henrico_at_nospam_poczta.onet.pl>
Subject: Re: Bascom i 1-Wire - co jest grane?
Date: Sun, 30 Jun 2002 20:02:42 +0200


Użytkownik "ziel" <zielpro_at_nospam_cavern.pl> napisał w wiadomości
news:DOELJDHHJKPIEKPIGAMEKEKADGAA.zielpro_at_nospam_cavern.pl...
1. W opcjach kompilatora nie można zejść poniżej 11,059MHz, ale to ma
niby
dotyczyć transmisji szeregowej.
Jakby 1 wire było czymś innym.

Ano jest, tak samo jak I2C czy Microwire. Dla nich też się tyczy to
ustawienie dla kompilatora?

2. Jeżeli punkt 1 to po chorobę komenda '$crystal' ???
W helpie opisane jako używane do odmierzania właściwego czasu trawania
wait
x.

No i co z tego jak muszę dać 12MHz do transmisji z 1wire.

W dodatku
NIGDZIE o tym nie pisze! Czyżby 4MHz było za mało? Przecież najkrótszy
impuls (logiczna jedynka) w iButonie trwa 15 do 60 mikrosekund.
A i owszem pisali, na forum BASCOM'a.

Nie zaglądałem, to mój pierwszy program.

Z tego co wiem, ludzie na ogół starają się używać większej szybkości i
mieć
ją w zapasie, niż później zmieniać program na bardziej wydajny.

Z tego co wiem to ludzie na ogół starają się ograniczać pobór pradu i mieć
go w zapasie, niż później zmieniać zasilacz bo nie wydala.

Pisząc w asm
1MHz wystarczy!
A to już może być problematyczne. ;-)

No niech będie 2MHz

pzdr
Artur

Też pozdrawiam.

--
Henry(k)

Uwaga. Zabezpieczenie antyspamowe.
Z adresu email usuń "tnij_to_"



Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Bascom i 1-Wire - co jest grane?
Date: 30 Jun 2002 20:40:51 +0200


Ano jest, tak samo jak I2C czy Microwire. Dla nich też się tyczy to
ustawienie dla kompilatora?
Nie wiem, BASCOM'a na 51 używałem krótko, a tu (w domu) nie mam symulatora,
żeby podejrzeć
co generuje. Przypuszczam, że zrobiono założenie na 11Mhz jako minimum i dla
tej częstotliwości
obliczano czasy maksymalne i minimalne stosunkowo łatwo jest napisać
mieszcząc się w ramach 11MHz i 30MHz,
niż w zakresie od 4MHz do 30MHz. Pewnie, dodać istrukcję sprawdzającą jaki
jest kwarc i w zależnosci od tego dodawać nop'y,
tylko, że malkontenci znowu będą narzekać, że BASCOM wstawia masę śmieci
;-).

Z tego co wiem to ludzie na ogół starają się ograniczać pobór pradu i mieć
go w zapasie, niż później zmieniać zasilacz bo nie wydala.
No nie przesadzaj, te kilkanascie milliamper różnicy?
Chyba, że ktoś zasila procka ze stabilnego żródła napięciowego, to
faktycznie one maja małą wydajność ;-)
A jeśli chodzi o zuzycie energii, to zrobi co ma zrobić w 3-krotnie krótszym
czasie i pójdzie spać na dłuższy czas.
pzdr
Artur

Też pozdrawiam.

--
> Henry(k)
>
To znowu pozdrawiam.
;-)
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Henry\(k\)" <tnij_to_henrico_at_nospam_poczta.onet.pl>
Subject: Re: Bascom i 1-Wire - co jest grane?
Date: Sun, 30 Jun 2002 22:07:45 +0200


Użytkownik "ziel" <zielpro_at_nospam_cavern.pl> napisał w wiadomości
news:DOELJDHHJKPIEKPIGAMEIEKDDGAA.zielpro_at_nospam_cavern.pl...
Ano jest, tak samo jak I2C czy Microwire. Dla nich też się tyczy to
ustawienie dla kompilatora?
Z tego co wiem to ludzie na ogół starają się ograniczać pobór pradu i
mieć
go w zapasie, niż później zmieniać zasilacz bo nie wydala.
No nie przesadzaj, te kilkanascie milliamper różnicy?
Chyba, że ktoś zasila procka ze stabilnego żródła napięciowego, to
faktycznie one maja małą wydajność ;-)

albo z małej przetworniczki z 1,5V na 5V. Tam liczy się każdy miliamper. W
końcu procesorek nie jest sam.

A jeśli chodzi o zuzycie energii, to zrobi co ma zrobić w 3-krotnie
krótszym
czasie i pójdzie spać na dłuższy czas.

No chyba że przetworniczka się zblokuje na ten trzykrotnie krótszy czas
trzykrotnie większego prądu :-)

Ale już więcej nie przesadzam.
Miał być to prosty immobiliser pobierający malutko prądu, prosty
stabilizatorek napięcia bez radiatorów i aby całość była mała SMD. Miał być
szybko napisany w Basicu a tu kupa bo Basic się wypiął.
No ale z 12MHz działa :-)

Pozdrofka

--
Henry(k)

Uwaga. Zabezpieczenie antyspamowe.
Z adresu email usuń "tnij_to_"



Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Bascom i 1-Wire - co jest grane?
Date: 30 Jun 2002 22:58:39 +0200


No chyba że przetworniczka się zblokuje na ten trzykrotnie krótszy czas
trzykrotnie większego prądu :-)
No chyba, ze się zblokuje :-(

Miał być to prosty immobiliser pobierający malutko prądu, prosty
stabilizatorek napięcia bez radiatorów i aby całość była mała
SMD. Miał być
szybko napisany w Basicu a tu kupa bo Basic się wypiął.
No ale z 12MHz działa :-)
A to w takim razie ATtiny lub jakis mały PIC, problemów z kwarcem nie ma,
mniej prądu żrą,
a jakie małe. ;-)
pzdr
Artur
PS
i problemów z napięciem też brak, bo chodzą w szerokim zakresie.
Przynajmniej niektóre.



--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika