код написан на кодвижн. И все бы ничего, если бы не понадобилось переделать на тини2313. Все началось с того что тини не хочет программироваться при напр. питания больше 4 вольт. А дальше так, вроде бы работает, но вместо температуры показывает непонятно что, в частности цифру 4096 и все. Хотя осцилом виден активный обмен между датчиком и тини и в уарт все инфо выдает, а вот вместо температуры непонятно что показывает. Кварц внешний!!! (Пробовал и на внутренем, тоже самое). Питается это дело от 5 вольт.
Переделав назад на 90s2313 все отлично работает!!! В чем засада может быть??????
Вот он:
#include <tiny2313>
#asm
.equ __w1_port=0x12 ;
.equ __w1_bit=4
#endasm
#include <ds1820>
#include <stdio>
main()
{
unsigned int temp;
UCSRB=0x08;
UCSRC=0x06;
UBRRH=0x00;
UBRRL=0x47;
w1_init();
while (1)
{
temp=ds1820_temperature_10(0);
printf("t=%-i.%-u\xf8C\n\r",temp/10, temp%10);
};
}
//------------------------------------------------------------


