nesnasim 1-wire :-)

Prichy prichy@volny.cz
Sobota Březen 26 08:01:23 CET 2005


upresnim v Read_Temperature jsou cekacky  od 5 do 25 mikrosekund
nepsal jsem to ja, ale jak jsem do toho koukal neda se tam toho moc usetrit.

Prichy napsal(a):

>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