Hi All !
íÏÖÅÔ ÌÉ ËÔÏ ÎÉÂÕÔØ ÐÒÉÄÕÍÁÔØ ÁÌÇÏÒÉÔÍ ÐÏÌÕÞÛÅ ÉÂÏ ÜÔÏÔ ÐÒÉ ËÏÍÐÉÌÑÃÉÉ winavr ÓÔÁÎÏ×ÉÔÓÑ ÖÉÒÎÙÍ. öÅÌÁÔÅÌØÎÏ ÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ AT90S2313, ÎÏ ÐÒÉ ÍÏÅÍ ×ÁÒÉÁÎÔÅ ×ÓÑ ÐÒÏÇÒÁÍÍËÁ ×ÍÅÓÔÅ Ó ÐÒÉ×ÅÄÅÎÎÙÍ ÎÉÖÅ ËÕÓËÏÍ × ÎÅÇÏ ÅÌÅ ×ÌÁÚÉÔ (1,9ËÂ):((, Á ÅÅ ÅÝÅ ÁÐÇÒÅÊÄÉÔØ É ÁÐÇÒÅÊÄÉÔØ... ó ÍÏÉÍ ×ÁÒÉÁÎÔÏÍ ÎÕÖÎÏ ÂÒÁÔØ ÍÅÇÕ, ÎÏ ÐÌÁÔÁ ÕÖÅ ÒÁÚ×ÅÄÅÎÁ ÄÌÑ AT90S2313.
HÅÏÂÈÏÄÉÍÏ ÓÞÉÔÁÔØ ÄÁÎÎÙÅ Ï ÔÅÍÐÅÒÁÔÕÒÅ Ó ÄÁÔÞÉËÁ DS1821 (ÉÍÅÎÎÏ Ó ÜÔÏÇÏ Ô.Ë. ÏÎ ÎÅÄÏÒÏÇÏÊ É Õ ÎÅÇÏ ÎÕÖÎÁÑ ÐÏÇÒÅÛÎÏÓÔØ ÐÒÉ ÉÚÍÅÒÅÎÉÉ ÔÅÍÐÅÒÁÔÕÒÙ ÔÅÌÁ ÞÅÌÏ×ÅËÁ) É ×Ù×ÅÓÔÉ ÉÈ ÎÁ öëé (íåìô10-ô7). ðÒÏÂÌÅÍÍÁ ÓÏÓÔÏÉÔ × ×ÙÞÉÓÌÅÎÉÉ ÔÅÍÐÅÒÁÔÕÒÙ. ïÎÁ ×ÙÞÉÓÌÑÅÔÓÑ ÐÏ ÆÏÒÍÕÌÅ:
temperature=temp-0.5+(COUNT_PER_C-COUNT_REMAIN)/COUNT_PER_C;
þÉÓÌÏ ÐÏÌÕÞÁÅÔÓÑ ÄÒÏÂÎÏÅ. ôÏÞÎÏÓÔØ ÎÕÖÎÁ ÄÏ ÄÅÓÑÔÙÈ ÐÒÉÞÅÍ Ó ÏËÒÕÇÌÅÎÉÅÍ Á ÎÅ Ó ÏÂÒÅÚÁÎÉÅÍ. ñ ÐÒÉÄÕÍÁÌ ×ÏÔ ËÁË:
=== Cut === uint8_t out[10]; uint8_t temp; uint16_t COUNT_REMAIN,COUNT_PER_C; float temperature;
//skip //ÔÕÔ ÓÞÉÔÙ×ÁÀÔÓÑ temp(8 ÂÉÔ ÉÎÆÏÒÍÁÃÉÏÎÎÙÈ),COUNT_PER_C(9 ÂÉÔ ÉÎÆÏÒÍÁÃÉÏÎÎÙÈ) //É COUNT_REMAIN (9 ÂÉÔ ÉÎÆÏÒÍÁÃÉÏÎÎÙÈ) //skip
temperature=temp-0.5+(COUNT_PER_C-COUNT_REMAIN)/COUNT_PER_C; //×ÙÄÅÌÑÀ ÓÏÔÎÉ, ÄÅÓÑÔËÉ, ÅÄÉÎÉÃÙ É ÓÏÔÙÅ ÄÏÌÉ out[6]=temperature/100; out[7]=(temperature-out[6]*100)/10; out[8]=temperature-out[6]*100-out[7]*10; temperature=floor((temperature-out[6]*100-out[7]*10-out[8])*10+0.5); out[9]=temperature; //ÔÁÍ ÄÁÌØÛÅ out[] ->ÜÔÏ ÃÉÆÒÙ, ËÏÔÏÒÙÊ ×Ù×ÏÄÑÔÓÑ ÎÁ ÉÎÄÉËÁÔÏÒ Ó //ÜÔÉÍ ÐÒÏÂÌÅÍ ÎÅÔ
=== Cut ===
åÓÌÉ ÌÕÞÛÅ ÎÅ ÐÏÌÕÞÉÔÓÑ ÂÕÄÕ ÂÒÁÔØ ÍÅÇÕ8. íÏÖÅÔ ËÔÏ ÓÔÁÌËÉ×ÁÌÓÑ, ËÁËÉÅ Õ ÎÅÅ ÅÓÔØ ÏÓÏÂÅÎÎÏÓÔÉ ÐÒÉ ÐÏÄËÌÀÞÅÎÉÉ ÐÉÔÁÎÉÑ, ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÉ(Õ ÍÅÎÑ PONYPROG) É Ô.Ð.
ŽžžŽžžž ÷ÔÏÒÎÉË, äÅËÁÂÒØ 27 2005 21:40
2ž461Ž32ž23 ÷ÓÅÇÏ ÈÏÒÏÛÅÇÏ. Alexander.