#1 Re: Програмування Arduino » Помогите начинающему. » 2016-09-11 07:26:32

При получении первого 's' переменные принимают такие значения: val = 's', timeS=времяПриходаПервогоСимвола. Это происходит в первом if.
Подошли ко второму if. Напоминаю, что val = 's', timeS=времяПриходаПервогоСимвола. Условие выполнится. Но не так и не тогда как подразумевалось - не во время прихода второго символа, а сразу после прочтения первого 's'. И в timeF запишется просто этот момент, разница в 0 мкс.
Нужно что-то менять.
Например, ввести вместо val   val1 и val2. Первый символ писать в val1, второй в val2, при получении второго символа произвести вычисления, и не забыть очистить val1 и val2. Или переместить timeF в timeS, а val2  и timeF очистить в случае, если нужно будет ждать третий 's' и более. При этом нужно помнить как выполняется программа, чтобы не повторить предыдущую ошибку.
Буфер очищается сам после чтения. Прочитан символ, второй раз его не прочитать.

#2 Re: Програмування Arduino » Массив структур » 2016-08-24 14:51:10

serrrg10 пише:

>Str_item могут разное количество байт.
Про указатели читал?

Да, спасибо.
Все получилось.

#3 Re: Програмування Arduino » Массив структур » 2016-08-24 14:35:44

serg10 пише:

int length =  (sizeof(Array1)/sizeof(Str_item);
or
int length = Array1.size();

Спасибо, получилось.
int length =  (sizeof(Array1)/sizeof(Array1[0]);

#4 Програмування Arduino » Массив структур » 2016-08-24 13:44:34

micom
відповідей: 4

Здравствуйте!
Столкнулся с нерешаемой мной проблемой. Гугл не помог.
Нужно подсчитать количество элементов в массиве структур. Через sizeof ? Так размеры строк разные.
Объявление структуры:

struct Str_item
   {
	String text;
	byte X;
	byte Y;
	byte changeable;
	void *PtrNextLevel;
	void *PtrPrevLevel;
    };

Создаю массивы данных структур:

Str_item Array1[]=
{
	{ "Text1", 2, 0, 1, NULL, NULL },                    //элемент 1
	{ " Text2___", 2, 1, 1, NULL, NULL},                 //элемент 2
};

Str_item Array2[]=
{
	{ "__Text5   ", 2, 0, 1, NULL, NULL },                //элемент 1
	{ "  Text6___", 2, 1, 1, NULL, NULL},                 //элемент 2
	{ "   Text7 Text 3  ", 2, 2, 1, NULL, NULL},          //элемент 3
	{ "  __ Text8", 2, 3, 1, NULL, NULL}                  //элемент 4
};

Нужно подсчитать количество элементов каждого массива. Для приведенного кода это 2 и 4  элемента. Как их подсчитать программно?

Підвал форуму