Пользовательский блок ( Помощь )

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Пользовательский блок ( Помощь )

#41

Сообщение Dev1 » 17.07.2017{, 11:47}

pan писал(а):явно засада с этой строчкой { Key |= 1 << Count; }
Не люблю я эти биты.... Порылся тут. Где как пишут  
По одному описанию получается: Key присваивается при операторе |= значение 1 и до нее все будет в 1 на сдвиг влево Count. Похоже на результат
pan писал(а):получаю 00000001 00000011 00000111
Вот нужно поиграть с оператором...
Win7-64 FLProg v7.2.2 Portable :fie:

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Пользовательский блок ( Помощь )

#42

Сообщение pan » 27.07.2017{, 20:40}

снова я. наткнулся на такую проблему с PROGMEM.
массив создается, данные из него читаются, передаются в порт, все нормально.но...
когда использую чтение в условии оператора for , то в порт ни чего не отправляется(диод не мигает), либо порт  отрубается, либо дуня зависает.
господа знатоки СИшники, объяните нубу что не так
вот пример :
for(int i=0; pgm_read_dword(&data (i)) > xxxxx; i++) { бла бла бла }
тоесть смысл в том, чтобы прошерстить массив и узнать какое число по счету меньше  хххх.

Добавлено (27.07.2017, 20:40)
---------------------------------------------
pan писал(а):data (i)
 знаю скобки должны быть квадратные но их не получается тут вставить
Последний раз редактировалось pan 27.07.2017{, 20:39}, всего редактировалось 1 раз.

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Пользовательский блок ( Помощь )

#43

Сообщение Dev1 » 27.07.2017{, 21:34}

pan писал(а):знаю скобки должны быть квадратные но их не получается тут вставить


Код: Выделить всё

data [i]
Цикл можно проверить выводом в {бла, бла, бла}   Serial.println(i); (остальное действие закоментить) работает он вапще или нет. Если нет то уже искать в условии. Цикл будет работать пока pgm_read_dword(&data (i)) > xxxxx
Последний раз редактировалось Dev1 27.07.2017{, 21:35}, всего редактировалось 1 раз.
Win7-64 FLProg v7.2.2 Portable :fie:

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Пользовательский блок ( Помощь )

#44

Сообщение pan » 27.07.2017{, 21:38}

Dev1 писал(а):Цикл можно проверить выводом в {бла, бла, бла}
pan писал(а):когда использую чтение в условии оператора for , то в порт ни чего не отправляется(диод не мигает), либо порт  отрубается, либо дуня зависает.

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Пользовательский блок ( Помощь )

#45

Сообщение Dev1 » 27.07.2017{, 21:47}

Еще кто тут говорил, что в пользовательских блоках не обьявлять в loop переменную
Кодfor(int i=0;
, а обьявить её в declare. Какие то проблемы были, вроде программа как 2 раза обьявляла.
Win7-64 FLProg v7.2.2 Portable :fie:

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Пользовательский блок ( Помощь )

#46

Сообщение pan » 27.07.2017{, 21:54}

Dev1 писал(а):блоках не обьявлять в loop переменную
все нормально. тем более в циклах так постоянно делают. когда убираю условие pgm_read_dword(&data (i)) > xxxxx  и ставлю что то другое, все работает. и порт работает. как только вставляю обратно, порт молчит. или сама дуня в шоке

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Пользовательский блок ( Помощь )

#47

Сообщение Dev1 » 27.07.2017{, 21:55}

Значит не получает значение pgm_read_dword(&data (i))  и встает в ступор.
Win7-64 FLProg v7.2.2 Portable :fie:

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Пользовательский блок ( Помощь )

#48

Сообщение pan » 27.07.2017{, 22:05}

но вне оператора for получает.  
может его там нельзя использовать? я не нашел такой инфы

Добавлено (27.07.2017, 22:05)
---------------------------------------------
а если вставить   pgm_read_dword(&data (i))   в цикл где "бла бла бла" вообще пишет ошибку

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Пользовательский блок ( Помощь )

#49

Сообщение Dev1 » 27.07.2017{, 22:34}

У вас случаем pgm_read_dword(&data (i)) не функция?
Win7-64 FLProg v7.2.2 Portable :fie:

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Пользовательский блок ( Помощь )

#50

Сообщение pan » 27.07.2017{, 22:41}

массив

Добавлено (27.07.2017, 22:41)
---------------------------------------------
const unsigned long data[] PROGMEM =

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Пользовательский блок ( Помощь )

#51

Сообщение Dev1 » 28.07.2017{, 08:10}

Мы гадаем на кофейной гуще, сложно сказать что у вас происходит по отрывкам...
Win7-64 FLProg v7.2.2 Portable :fie:

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Пользовательский блок ( Помощь )

#52

Сообщение pan » 19.09.2017{, 08:38}

дабы не плодить темы напишу сюда. может ли кто немного переделать пару библиотек. это связано с SPI. если для бесплатно это сложно и лень , в личке можно обозначить адекватную цену.

Добавлено (19.09.2017, 08:38)
---------------------------------------------
неужели ни кто не может
Последний раз редактировалось pan 19.09.2017{, 08:35}, всего редактировалось 1 раз.

Mcsimka
Рядовой
Сообщения: 1
Зарегистрирован: 24.10.2017{, 13:51}
Репутация: 0

Пользовательский блок ( Помощь )

#53

Сообщение Mcsimka » 24.10.2017{, 14:05}

Подскажите пожалуйста, как задать переменную?
Вопрос вот в чем, необходимо задать тип шрифта, для вывода текста на дисплей (Тип шрифта,
как пример, может быть: SmallFont,  BigFont и т.д.). Если задавать
переменную типа String, компилируется с кавычками:
myTFT.setFont ( "BigFont" ); , соответственно будет ошибка компиляции,
так как должно быть:
myTFT.setFont ( BigFont );

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Пользовательский блок ( Помощь )

#54

Сообщение Dev1 » 24.10.2017{, 15:00}

Цитата Mcsimkaтак как должно быть: myTFT.setFont ( BigFont );
В пользовательском блоке - параметры пользователя - добавляем переменную, выбираем тип sring ставим галочку "Вставлять в код без скобок(как есть)".

А так я делал разные блоки на вывод текста под свой шрифт.
Последний раз редактировалось Dev1 24.10.2017{, 15:03}, всего редактировалось 1 раз.
Win7-64 FLProg v7.2.2 Portable :fie:

Ответить

Вернуться в «Спросить у знатоков»