attiny85 и датчик температуры DS18b20
- Войдите на сайт для отправки комментариев
Вс, 03/09/2017 - 11:59
Доброго времени суток.Долго сидел на ардуино,захотел пересесть на что то маленькое.Взял Attiny85. Хочу сделать градусник.отладил код на ардуино,и через arduino as ISP залил программу. при подключении я выяснил что tinny читает с него и получает -1,передкнул шину данных в ардуино. все работает,вообще не понимаю в чем проблемма. Думаю,проблемма в этой срочке:
int Temp1 = (data1[1]<< 8)+data1[0];
Temp1 = Temp1>>4;
поясните,что тут происходит,и можно ли заменить,зарание спасибо.
#include <OneWire.h>
OneWire ds1(0);
void setup() {
pinMode(1,OUTPUT);
}
void loop() {
byte data1[2];
ds1.reset();
ds1.write(0xCC);
ds1.write(0x44);
delay(750);
ds1.reset();
ds1.write(0xCC);
ds1.write(0xBE);
data1[0] = ds1.read();
data1[1] = ds1.read();
int Temp1 = (data1[1]<< 8)+data1[0];
Temp1 = Temp1>>4;
if(Temp1==25){
digitalWrite(1,HIGH);
}else{
digitalWrite(1,LOW);
delay(100);
digitalWrite(1,HIGH);
delay(100);
digitalWrite(1,LOW);
delay(100);
digitalWrite(1,HIGH);
delay(100);
digitalWrite(1,LOW);
delay(100);
}
}
Проблемма в этой строчке
OneWire ds1(0);
я туплю,но у attiny85 есть pin 0. поясни в чем косяк
это я туплю.
Для какого чипа компилировали программу? Правильно ли выставлена скорость ядра фьюзами?
Я в интернете нашел что нужно выставить 8 Мгц. Это правильно ?
все для attiny85 10 раз проверял
if ( !ds.search(addr)) { ds.reset_search(); delay(250); digitalWrite(1,HIGH); delay(10); digitalWrite(1,LOW); return; }вот тут он бегает по кругу и просто не может ничего найти,хотя если переткнуть шину в ардуин все прекрасно работает
По дефолту чипы поставляются с фьюзами на 1 МГц. Проверте, какие фьюзы у вас.
Частота точно правильно выставлена? По умолчанию в новой 85-ой 1МГц, Сколько у Вас реально высталено и сколько указано в программе?
програмирую с момощю arduino as ISP , сервис-->плата --> attiny85 8MHz выбираю это. не то делаю ?
А во фьюзах что прошито? Вы их прошиваете сами или нет?
Думал, что вот эта настройка и есть фюзы.Можно подробней что сделать с фюзами и где?
Так, ... ну, Вы хотя бы загрузчик в тини прошиваете или только скетч?
сразу скетч кидаю через ардуино.Простые вещи типо blink работают без загрущика.Про загрущик не знаю ничего
Понятно.
В общем гуглите про фьюз-биты. И обязательно прочитайте. что у Вас там стоит сейчас и установите то, что реально нужно (в частности, частота 8МГц (если она у Вас 8 - а то может Вы кварц присобачили, кто Вас знает) и остальное тоже.
Кроме 8МГц что нибудь там еще нужно перестовлять.нет пользуюсь внутренним осцелятором
Что этобыло?