nesnasim 1-wire :-)
Prichy
prichy@volny.cz
Sobota Březen 26 07:11:11 CET 2005
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
Další informace o konferenci Hw-list