Создание скетча.

Mixael
Offline
Зарегистрирован: 27.05.2016
Хочется мне, как нубу, научиться писать код самому, чтобы понимать происходящее, а не тупо копировать.Но есть непонятные места. Ладно, чтобы узнать какие функции предоставляет библиотека, насколько я понял, нужно посмотреть в заголовочный файл.
 
Например есть скетч:
 
#include <DS1307.h>
#include <Time.h>
#include <TimeLib.h>
#include <Wire.h>

DS1307 clock;//define a object of DS1307 class
void setup()
{
  pinMode(11, OUTPUT); 
  Serial.begin(9600);
  clock.begin();
  clock.fillByYMD(2016,5,27);//May 27,2016
  clock.fillByHMS(22,30,30);//22:30 30"
  clock.fillDayOfWeek(SAT);//Friday
  clock.setTime();//write time to the RTC chip
}
void loop()
{
  int sec = second();
  if (sec == 15)
  {
    digitalWrite(11, 1);
      }
  else
  {
    digitalWrite(11, 0);
  }
  }

 

Откуда берется и что делает строка DS1307 clock? Почему именно слово clock? В заголовочных файлах функции из скетча есть, но почему я должен добавлять слово "clock." перед именем функции, как например clock.begin(), clock.setTime()?

MagicianT
Offline
Зарегистрирован: 03.10.2015

Mixael пишет:

Откуда берется и что делает строка DS1307 clock? Почему именно слово clock? В заголовочных файлах функции из скетча есть, но почему я должен добавлять слово "clock." перед именем функции, как например clock.begin(), clock.setTime()?

DS1307 это тип животного , что ты хочешь завести, например собака.  Clock - это имя собаки.  Комманды которые собака понимает, они в библиотеке, правильно, т.е. clock.принеси, clock.стереги и т.д.
 Если назвать собаку шариком, то будет соответственно шарик.принеси, шарик.стереги
Так понятно?
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Mixael пишет:
Откуда берется и что делает строка DS1307 clock;

Ниоткуда не берётся, Вы её сами пишете. Ничего особенного не делает. Говорит, что в программе используется объект класса DS1307 с именем clock.

Mixael пишет:
Почему именно слово clock?

Нипочему. Замените на kaka или на hrenovaPeremennayaDlyaVremeny (только везде!) - ничего не изменится.

Mixael пишет:
почему я должен добавлять слово "clock."
 
Вы никому ничего не должны.
 
Знаете, метод изучения языка путём разглядывания кодов и попыток догадаться "а это что за хрень" бесперспективен.
 
Давайте так. Вы сначала читаете и разбираете вот это. А потом вот это
 
После прочтения и внимательного разбора этих источников у Вас таких вопросов (и многих других) больше не будет. А если будут, тогда и приходите.
Mixael
Offline
Зарегистрирован: 27.05.2016

Ясно, спасибо.

Mixael
Offline
Зарегистрирован: 27.05.2016

MagicianT пишет:

Mixael пишет:

Откуда берется и что делает строка DS1307 clock? Почему именно слово clock? В заголовочных файлах функции из скетча есть, но почему я должен добавлять слово "clock." перед именем функции, как например clock.begin(), clock.setTime()?

DS1307 это тип животного , что ты хочешь завести, например собака.  Clock - это имя собаки.  Комманды которые собака понимает, они в библиотеке, правильно, т.е. clock.принеси, clock.стереги и т.д.
 Если назвать собаку шариком, то будет соответственно шарик.принеси, шарик.стереги
Так понятно?
 

Более чем.