Перейти к содержанию

Ошибка компиляции attiny 85


tesla.qwartz

Рекомендуемые сообщения

Здравствуйте подскажите собрал код в ардуино термометра на ds18b20, проверил на Arduino Nano все работает, хотел залить в Digispark attiny 85 и Arduino IDE выдало ошибку компиляции для платы

Код

#include <OneWire.h>
#include <SPI.h> 
// провод CS подсоединяем к 8-му пину Arduino 
enum { reg = 8 }; 
OneWire ds(7); // Объект OneWire
int temperature = 0; // Глобальная переменная для хранения значение температуры с датчика DS18B20
 
long lastUpdateTime = 0; // Переменная для хранения времени последнего считывания с датчика
const int TEMP_UPDATE_TIME = 400; // Определяем периодичность проверок
void setup()
{
// инициализируем SPI 
  SPI.begin();   
// определяем 8-й пин Arduino как выход        
  pinMode(reg, OUTPUT); 
  //Serial.begin(9600);
}
//мы разобъем число на сотни, десятки и единицы, объявляем их здесь 
int hundreds=0, tens=0, ones=0; 
//время отображения каждой цифры       
int delayTime=5;        
//коды цифр на семисегментнике (0-9 и пустота)   
static uint8_t digit[31] = {0x08,0x18,0x88,0x98,0x48,0x58,0xC8,0xD8,0x28,0x38,0xFF,
0x04,0x14,0x84,0x94,0x44,0x54,0xC4,0xD4,0x24,0x34,0x02,0x12,0x82,0x92,0x42,0x52,0xC2,0xD2,0x22,0x32}; 
// коды позиций зажигаемого семисегментника (левый, центральный, правый) 
//static uint8_t pos[3]= {0xE7,0xEB,0xF3};             


void loop()
{

detectTemperature(); // Определяем температуру от датчика DS18b20
  //Serial.println(temperature); // Выводим полученное значение температуры
  // Т.к. переменная temperature имеет тип int, дробная часть будет просто отбрасываться
}
 
int detectTemperature(){
 
  byte data[2];
  ds.reset();
  ds.write(0xCC);
  ds.write(0x44);
 
  if (millis() - lastUpdateTime > TEMP_UPDATE_TIME)
  {
    lastUpdateTime = millis();
    ds.reset();
    ds.write(0xCC);
    ds.write(0xBE);
    data[0] = ds.read();
    data[1] = ds.read();
 
    // Формируем значение
    temperature = (data[1] << 8) + data[0]; temperature = temperature >> 4;
  }
  
//число, которое будем выводить 
  int f = temperature;                          
//выделяем сотни   
  hundreds=(f/100) ;    
//выделяем десятки                   
  tens=((f-hundreds*100)/10); 
//выделяем единицы            
  ones=f-hundreds*100-tens*10;   
//если сотен нет, не отображаем ничего в 3м разряде       
  if (hundreds==0) hundreds=10;   
//если сотен и десятков нет, не отображаем ничего во 2м разряде      
  if (hundreds==10 && tens==0)tens=10; 


//начинаем передачу по SPI 
  digitalWrite(reg, LOW);       
//передаем код цифры, соответствующей разряду сотен        
  SPI.transfer(digit[hundreds+21]);
//выбираем левый 7-сегментник        
  //SPI.transfer(pos[0]);      
//заканчиваем передачу            
  digitalWrite(reg, HIGH);
//пауза, равная delayTime              
  delay(delayTime);                    


//передаем код цифры, соответствующей разряду десятков         
  digitalWrite(reg, LOW); 
  SPI.transfer(digit[tens+11]);
//выбираем центральный 7-сегментник            
  //SPI.transfer(pos[1]);                
  digitalWrite(reg, HIGH); 
  delay(delayTime); 
        
//передаем код цифры, соответствующей разряду единиц 
  digitalWrite(reg, LOW); 
  SPI.transfer(digit[ones]);  
//выбираем правый 7-сегментник          
  //SPI.transfer(pos[2]);                
  digitalWrite(reg, HIGH); 
  delay(delayTime); 
  
}

sketch_sep09b.ino

Если у вас есть яблоко и у меня есть яблоко, и если мы обмениваемся этими яблоками, то у вас и у меня остается по одному яблоку. А если у вас есть идея и у меня есть идея и мы обмениваемся идеями, то у каждого из нас будет по две идеи.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

а как еще пояснить ?

bandicam 2019-02-09 08-16-44-614.jpg

bandicam 2019-02-09 08-18-03-270.jpg

Если у вас есть яблоко и у меня есть яблоко, и если мы обмениваемся этими яблоками, то у вас и у меня остается по одному яблоку. А если у вас есть идея и у меня есть идея и мы обмениваемся идеями, то у каждого из нас будет по две идеи.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...