nesnasim 1-wire :-)
Martin Záruba
swz@volny.cz
Sobota Březen 26 07:27:41 CET 2005
Ale i pri zastavenem preruseni na seriaku se 1 znak uchova v sbuf. Je ta
smycka komunikace s Dallasem tak dlouha, ze by se ztratilo vice znaku? Pokud
ano, neslo by to vyresit snizenim prenosove rychlosti na seriaku tak, aby se
znaky neztracely?
Martin Zaruba
----- Original Message -----
From: "Prichy" <prichy@volny.cz>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Saturday, March 26, 2005 7:11 AM
Subject: nesnasim 1-wire :-)
Zdravim.
dotaz se tyce "me" meteostanice(89C52). Mam ji osazenou 18B20-kou
komunikujici 1-wire .
inicializace preruseni:
TR0 = 1; // start timer 0
ET0 = 1; // enable timer 0 interrupt
ES = 1; // enable serial interrupt
PS = 0; // set serial interrupts to
hi priority
EA = 1; // global interrupt enable
TR1 = 1; // start timer 1
inkrementuje promennou citac - > generuje 1 s pro hodiny
TI = 0; // nastavuji pri potrebe vysilat
v hlavni smycce
tepl= Read_Temperature(); // cte teplotu z dallasu
PC posila dotazy do zarizeni kazdou sekundu, problem je, kdyz dojde
preruseni na serial
pri konani casove narocne Read_Temperature() pak komunikace s Dallasem
probehne spatne
(volana pri kazdem pruchodu hl. smyckou).
Napadaji me dve reseni:
1) zastavit na dobu konani Read_Temperature() preruseni seriaku
(pokud by selhala komunikace PC - Hardware opakovat)
2)obnovovat promennou tepl v preruseni casovace, pak by ovsem
muselo mit vetsi prioritu (take by se PC a hardware nemusely vzdy
domluvit)
Jak resite podobne problemy? (mozna je vic reseni, jeste nemam zahraty
mozek :-D )
Prichy
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list