Быстрые входы и выходы

Пользовательские блоки дополняющие набор стандартных блоков
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

Блоки построены на основе библиотеке CyberLib.
Установить сразу!!!
Огромное Спасибо её разработчикам!!!
Версия V1 содержит
входы с D2 по D7,
выходы в разных форматах, с D10 по D13:
- выходы с записью по en, тоже самое как если в программе включить этот режим.
- выходы с защёлкой(триггером) - меняет выход один раз в момент изменения состояния, потом вообще почти "не отсвечивают". Первый цикл должен быть с false / 0.
- выходы как стандартные.
Отписываемся здесь или в этой теме.
Вопрос, резонный - почему не все пины?
Когда Вы посмотрите, как там всё устроенно, то без труда измените или добавите то, что необходимо именно в данный момент.

Над универсальностью/настраиваемостью работаю.
Попробовал настройку - медленнее начинает работать, на схеме не видно, что это за номер входа/выхода.

UPD.
Обновлено 25 января 2018.
Добавлены быстрые аналоговые входы.
Небольшие изменения в логике старых.
UPD.
05.07.2018 Обновлена библиотека, добавлены цифровые из аналоговых для Мега 2560

Данные блоки работают с мк: ATmega328, ATmega32U4.
с мк ATmega168 и 2560 аналоговые входы не работают...

Если понравилось и пригодилось - ЖМИ ТУТ!!!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Быстрые входы и выходы

Сообщение seri0shka »

Спасибо за блоки, давно точил зуб на эту библиотеку. Но есть нюанс: вроде библиотека не работает с платами на ATMega168, выдаёт ошибку ещё на этапе компилирования. Пишу по памяти, прошло время с экспериментов, поэтому проверьте, если есть возможность, и добавьте примечание в первом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

[ref]seri0shka[/ref],
Простейший вход и выход "скушал".
Скетч использует 490 байт (3%) памяти устройства. Всего доступно 14336 байт.
Глобальные переменные используют 11 байт (1%) динамической памяти, оставляя 1013 байт для локальных переменных. Максимум: 1024 байт.
Отправлено спустя 3 минуты 55 секунд:
С аналоговыми - засада, спасибо, отмечу.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09 апр 2016, 12:17
Откуда: Кременчуг
Имя: Сергей

Быстрые входы и выходы

Сообщение seri0shka »

[ref=#ff8000]Sancho[/ref], в блоках ошибки. Простейший пример: блок Out_13_High. В коде if ( en ) { D13_High;}. А кто D13 назад вернёт?
Кроме того, в блоке не декларируется библиотека, соответственно компилятор выдаст ошибку.
Кстати, кто подскажет, ка сделать, чтоб при добавлении нескольких блоков, в каждом из которых декларируется библиотека, в скетче она появлялась только один раз?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

seri0shka писал(а): 13 мар 2018, 15:50в блоках ошибки. Простейший пример: блок Out_13_High. В коде if ( en ) { D13_High;}. А кто D13 назад вернёт?
Какие ошибки?
Посмотрите, пожалуйста, второй блок от 13 ноги? Он и вернёт. Это блоки "Запись по условию". Читайте названия.
Сори, не обновил проект, сделал один блок с указанием бибки, главный, одноразовый. Больше в нём ничего нет.
А чем Вам мешает несколько объявлений библиотеки? Жмёт код?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Быстрые входы и выходы

Сообщение rw6cm »

seri0shka писал(а): 13 мар 2018, 15:50Кстати, кто подскажет, ка сделать, чтоб при добавлении нескольких блоков, в каждом из которых декларируется библиотека, в скетче она появлялась только один раз?
а зачем в каждом блоке декларировать библиотеку? создаете блок, с уставкой только для одного раза.
в него ложите все, что должно быть общее для всех (библиотеки, функции, константы итд), а в другой блок индивидуальный код.
Win10-64, FLProg (portable)
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Быстрые входы и выходы

Сообщение Labu559 »

seri0shka писал(а): 13 мар 2018, 15:50Кстати, кто подскажет, ка сделать, чтоб при добавлении нескольких блоков, в каждом из которых декларируется библиотека
Повторное декларирование библиотеки (если она правильно сделана см.ниже) никоим образом не увеличивает размер скомпилированного бинарника, как и комментарии, что имеет значение в отличии от размера скетча.
В частности в указанной библиотеке производится проверка и...
#ifndef CyberLib_H // если библиотека CyberLib_H не подключена
#define CyberLib_H // тогда подключаем CyberLib_H
Т.о. эти директивы исключают повторное подключение библиотеки и необходимо обращать внимание на их наличие в заголовочном файле xxx*.h.
krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06 сен 2015, 15:18
Откуда: Калуга
Имя: Андрей

Быстрые входы и выходы

Сообщение krom23 »

Sancho, а пример не выложите, а-то хоть и установил библиотеку всё ошибки при компиляции выдаёт.

Спасибо за пример.
Последний раз редактировалось krom23 23 июн 2018, 23:30, всего редактировалось 1 раз.
Аватара пользователя
benic
Сержант
Сообщения: 175
Зарегистрирован: 07 янв 2018, 13:47

Быстрые входы и выходы

Сообщение benic »

вот без библиотек, как проверить на скорость ?
ЗЫ:править приходится pin13mask pin12mask
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

benic писал(а): 23 июн 2018, 13:04как проверить на скорость ?
Выставляешь пин в 1, потом в 0, меряешь время осциллографом.
Но зачем изобретать велосипед, если библиотека делает тоже самое? И уже всё упаковано в одну строку с названием библиотеки.

Отправлено спустя 26 минут 48 секунд:
[ref]benic[/ref], Наверно ты сам не пробовал - галку надо ставить в блоке - "использовать один раз" иначе дефайны/byte править приходится в коде.
Код меньше библиотечного по весу, не говоря о стандартных read и write , но не по объёму/количеству строк.
Не могу вкурить - как и где библиотека добавляет байты....??? User я, одним словом .

Отправлено спустя 7 минут :
Скорости такие же, как и в моих потугах: генератор в виде вход на выход с инверсией(out=!in) 454 864 Гц.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
benic
Сержант
Сообщения: 175
Зарегистрирован: 07 янв 2018, 13:47

Быстрые входы и выходы

Сообщение benic »

http://codius.ru/articles/Тюнинг_Arduin ... боту_платы
вот это имел в виду, еще не вкурил как прикрутить
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

benic писал(а): 23 июн 2018, 15:07еще не вкурил как прикрутить
Что именно?
На следующей неделе попробую библиотеку обрезать до минимума, убрав инверсию и ещё, чего найду, сравню.

Отправлено спустя 1 минуту 17 секунд:
Попробовал почистить биб-ку - сбросила веса, стало как у [ref]benic[/ref].
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
benic
Сержант
Сообщения: 175
Зарегистрирован: 07 янв 2018, 13:47

Быстрые входы и выходы

Сообщение benic »

Блок смастерить на все порта, да и скорость померить. Пару дней назад нарыл.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

benic писал(а): 23 июн 2018, 17:40Блок смастерить на все порта
Пробовал, получилось, но отказался от этой затеи.
Причина - непонятно, какой вход/выход перед тобой на схеме, "константа", т.е.номер пина, не прописывается в строке "Лэйбла (отображается на схеме)" в виде изменяемого текста. Посему оставил большое количество элементов в папках входов/выходов. Думаю, тоже в это упретесь...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
belyx
Сержант
Сообщения: 251
Зарегистрирован: 24 июл 2016, 20:38
Откуда: Витебск Беларусь
Благодарил (а): 7 раз

Быстрые входы и выходы

Сообщение belyx »

а как будет выглядеть быстрый цифровой вход из аналогового входа?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

belyx писал(а): 04 июл 2018, 11:44а как будет выглядеть быстрый цифровой вход из аналогового входа?
D14 - D19
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
belyx
Сержант
Сообщения: 251
Зарегистрирован: 24 июл 2016, 20:38
Откуда: Витебск Беларусь
Благодарил (а): 7 раз

Быстрые входы и выходы

Сообщение belyx »

Sancho писал(а): 04 июл 2018, 15:56D14 - D19
я так понял -это для UNO
для MEGA- будет D54-D69 (вместо A0-A15) правильно?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

belyx писал(а): 04 июл 2018, 16:42для MEGA- будет D54-D69 (вместо A0-A15) правильно?
Нет, для Меги в библиотеке прописаны лишь D2-D13, D22-D53. Увы...
Если есть возможность использования - придётся дописывать в библиотеке, не вникал в Мегу.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
belyx
Сержант
Сообщения: 251
Зарегистрирован: 24 июл 2016, 20:38
Откуда: Витебск Беларусь
Благодарил (а): 7 раз

Быстрые входы и выходы

Сообщение belyx »

какой облом!дейсвительно только до 53
с 54 по 69 не прописаны,а они есть!
[spoiler]
atmega2560.png
[/spoiler]

Отправлено спустя 31 минуту 43 секунды:
[ref=#ff8000]Sancho[/ref],я не спец, а достаточно ли (меня интересуют INPUT) дописать в CyberLib.h
в части *INPUT PINS* к этому:
#define D52_In DDRB &=B11111101 // PB 1 SPI_SCK
#define D53_In DDRB &=B11111110 // PB 0 SPI_SS
это
#define D54_In DDRF &=B11111110 // PF 0 D54
#define D55_In DDRF &=B11111101 // PF 1 D55
и т.д. до D69
или ещё надо писать и в файл keywords.txt по аналогии что там написано.
или не стоит в это лезть?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Быстрые входы и выходы

Сообщение Sancho »

belyx писал(а): 04 июл 2018, 18:33какой облом!дейсвительно только до 53
с 54 по 69 не прописаны,а они есть!

или не стоит в это лезть?
При необходимости стоит, вооружившись даташитом и здравой логикой.
Но.
Дописать на "канал" строки в
для режима вход
*INPUT PINS*
*READ Status Pins*
*Status High Pins* для подтяжки к +
для выход
*Output Pins*
*Status High Pins*
*Status Low Pins*
С учётом имени регистра, в котором они расположены.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Триггеры, таймеры, счетчики, детекторы сигнала»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя