Страница 1 из 1

помогите с ТИНИ2313

Добавлено: Пт дек 05, 2008 16:48:13
jerry
Итак есть термометр на 90s2313 и ds1820. Все отлично работает.
код написан на кодвижн. И все бы ничего, если бы не понадобилось переделать на тини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);
};
}
//------------------------------------------------------------

Добавлено: Пт дек 05, 2008 16:54:35
Igor_67
Что сие означает?
printf("t=%-i.%-u\xf8C\n\r",temp/10, temp%10);

Добавлено: Пт дек 05, 2008 17:04:14
jerry
вывод на rs-232, фунцкия из библиотеки stdio.h

Добавлено: Пт дек 05, 2008 17:08:43
Igor_67
Переделав назад на 90s2313 все отлично работает!!! В чем засада может быть??????
А засада может быть в фузах. В частности, попробуй поменять CKDIV8. У меня похожее было с Тинькой. Пока не поставил данный фуз, тоже что попало писалось.

Добавлено: Пт дек 05, 2008 17:18:41
jerry
C делением на 8 тактовой все гуд.......он не нужен!!!

Добавлено: Пт дек 05, 2008 20:35:30
jerry
А тини 2313 только у меня не шьется при 5 вольтах питания, а при 3,3 вольтах шьется или у кого еще такое дело имеет место быть?

Добавлено: Пт дек 05, 2008 20:56:57
Pippeytz
ну так наверно у тебя не просто тини 2313 а с каимнибудь индексом - буквой. котоаря значит что он питаеться не от 5 а от 3.3 как у меги 8 например

Добавлено: Пт дек 05, 2008 21:22:01
jerry
ATTINY2313-20PU вот такой индекс, который не хочет прошиваться при 5 вольтах, зато при 4 и ниже вплоть до 2,8 все гуд!!!
В моей практике такое впервые. До этого тем же программатором все шилось без проблем, в том числе и меги 3х вольтовые при 5 вольтах отлично шились и все всегда работало, а тут такая незадача.....Я подумал может это особенность тини2313?!

Добавлено: Пт дек 05, 2008 21:51:24
alex2103
Попробуй

Код: Выделить всё


#include <tiny2313> 
#include <stdio> 
#include <math>

#asm 
.equ __w1_port=0x12 ; 
.equ __w1_bit=4 
#endasm 

#include <ds1820> 

main() 
{ 
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,abs(temp%10));
delay_ms(750);
}; 
} 
//------------------------------------------------------------

У меня при 5В все отлично шьется...

Добавлено: Сб дек 06, 2008 21:32:12
VenomXP
Наорд... Собираю тоже самое можете кто нить кинуть скрин фьюзов с PonyProg или с кодВижн... Плз... Срочна надо

Добавлено: Пн дек 08, 2008 20:15:06
Aheir
Есть тема http://radiokot.ru/forum/viewtopic.php?t=966
и отдельно по фьюзам, если требуется.