Не могу найти описание

IUS
Offline
Зарегистрирован: 15.01.2015

День добрый вот ещё один вопрос от чайника. 

Разбираюсь с готовым примером для часов DS3231 всё работает, но я так не могу. Объясните или кинте ссылку где прочитать ( здесь на сайте не нашел, или просто туплю) на кой тут звездочки?

описываются переменные...

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

а это уже непосредственна функция

void readDS3231time(byte *second, byte *minute, byte *hour, byte *dayOfWeek, byte *dayOfMonth, byte *month, byte *year)
{
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0); // set DS3231 register pointer to 00h
  Wire.endTransmission();
  Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
  // request seven bytes of data from DS3231 starting from register 00h
  *second = bcdToDec(Wire.read() & 0x7f);
  *minute = bcdToDec(Wire.read());
  *hour = bcdToDec(Wire.read() & 0x3f);
  *dayOfWeek = bcdToDec(Wire.read());
  *dayOfMonth = bcdToDec(Wire.read());
  *month = bcdToDec(Wire.read());
  *year = bcdToDec(Wire.read());
}
Так вот , я не пойму на кой в аргументе функции эти звёздочки? и что они обозначают и вообще...
kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

А некой Вам это нужно? Работает же.
Если интересно, почитайте про указатели.

X-Dron
Offline
Зарегистрирован: 24.01.2015

Учите основы С.

byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

создает переменные. Звездочки говорят, что передается не значение переменной, а ее адрес, куда надо записать значение.

Вызов функции должен быть с амперсантами

readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012
X-Dron
Offline
Зарегистрирован: 24.01.2015
IUS
Offline
Зарегистрирован: 15.01.2015

Вот это ответ спасибо большое .

Я и учу , трудно за пару недель всё узнать :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

нееееееееее.... надо читать с самого начала :) , сверху ( у миня ссылка похая :( , не сверху )