Быстрые входы и выходы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Быстрые входы и выходы
Блоки построены на основе библиотеке CyberLib.
Установить сразу!!!
Огромное Спасибо её разработчикам!!!
Версия V1 содержит
входы с D2 по D7,
выходы в разных форматах, с D10 по D13:
- выходы с записью по en, тоже самое как если в программе включить этот режим.
- выходы с защёлкой(триггером) - меняет выход один раз в момент изменения состояния, потом вообще почти "не отсвечивают". Первый цикл должен быть с false / 0.
- выходы как стандартные.
Отписываемся здесь или в этой теме.
Вопрос, резонный - почему не все пины?
Когда Вы посмотрите, как там всё устроенно, то без труда измените или добавите то, что необходимо именно в данный момент.
Над универсальностью/настраиваемостью работаю.
Попробовал настройку - медленнее начинает работать, на схеме не видно, что это за номер входа/выхода.
UPD.
Обновлено 25 января 2018.
Добавлены быстрые аналоговые входы.
Небольшие изменения в логике старых.
UPD.
05.07.2018 Обновлена библиотека, добавлены цифровые из аналоговых для Мега 2560
Данные блоки работают с мк: ATmega328, ATmega32U4.
с мк ATmega168 и 2560 аналоговые входы не работают...
Если понравилось и пригодилось - ЖМИ ТУТ!!!
Установить сразу!!!
Огромное Спасибо её разработчикам!!!
Версия V1 содержит
входы с D2 по D7,
выходы в разных форматах, с D10 по D13:
- выходы с записью по en, тоже самое как если в программе включить этот режим.
- выходы с защёлкой(триггером) - меняет выход один раз в момент изменения состояния, потом вообще почти "не отсвечивают". Первый цикл должен быть с false / 0.
- выходы как стандартные.
Отписываемся здесь или в этой теме.
Вопрос, резонный - почему не все пины?
Когда Вы посмотрите, как там всё устроенно, то без труда измените или добавите то, что необходимо именно в данный момент.
Над универсальностью/настраиваемостью работаю.
Попробовал настройку - медленнее начинает работать, на схеме не видно, что это за номер входа/выхода.
UPD.
Обновлено 25 января 2018.
Добавлены быстрые аналоговые входы.
Небольшие изменения в логике старых.
UPD.
05.07.2018 Обновлена библиотека, добавлены цифровые из аналоговых для Мега 2560
Данные блоки работают с мк: ATmega328, ATmega32U4.
с мк ATmega168 и 2560 аналоговые входы не работают...
Если понравилось и пригодилось - ЖМИ ТУТ!!!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Быстрые входы и выходы
Спасибо за блоки, давно точил зуб на эту библиотеку. Но есть нюанс: вроде библиотека не работает с платами на ATMega168, выдаёт ошибку ещё на этапе компилирования. Пишу по памяти, прошло время с экспериментов, поэтому проверьте, если есть возможность, и добавьте примечание в первом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Быстрые входы и выходы
[ref]seri0shka[/ref],
Простейший вход и выход "скушал".
С аналоговыми - засада, спасибо, отмечу.
Простейший вход и выход "скушал".
Отправлено спустя 3 минуты 55 секунд:Скетч использует 490 байт (3%) памяти устройства. Всего доступно 14336 байт.
Глобальные переменные используют 11 байт (1%) динамической памяти, оставляя 1013 байт для локальных переменных. Максимум: 1024 байт.
С аналоговыми - засада, спасибо, отмечу.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Лейтенант
- Сообщения: 391
- Зарегистрирован: 09 апр 2016, 12:17
- Откуда: Кременчуг
- Имя: Сергей
Быстрые входы и выходы
[ref=#ff8000]Sancho[/ref], в блоках ошибки. Простейший пример: блок Out_13_High. В коде if ( en ) { D13_High;}. А кто D13 назад вернёт?
Кроме того, в блоке не декларируется библиотека, соответственно компилятор выдаст ошибку.
Кстати, кто подскажет, ка сделать, чтоб при добавлении нескольких блоков, в каждом из которых декларируется библиотека, в скетче она появлялась только один раз?
Кроме того, в блоке не декларируется библиотека, соответственно компилятор выдаст ошибку.
Кстати, кто подскажет, ка сделать, чтоб при добавлении нескольких блоков, в каждом из которых декларируется библиотека, в скетче она появлялась только один раз?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Быстрые входы и выходы
Какие ошибки?seri0shka писал(а): 13 мар 2018, 15:50в блоках ошибки. Простейший пример: блок Out_13_High. В коде if ( en ) { D13_High;}. А кто D13 назад вернёт?
Посмотрите, пожалуйста, второй блок от 13 ноги? Он и вернёт. Это блоки "Запись по условию". Читайте названия.
Сори, не обновил проект, сделал один блок с указанием бибки, главный, одноразовый. Больше в нём ничего нет.
А чем Вам мешает несколько объявлений библиотеки? Жмёт код?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Быстрые входы и выходы
а зачем в каждом блоке декларировать библиотеку? создаете блок, с уставкой только для одного раза.seri0shka писал(а): 13 мар 2018, 15:50Кстати, кто подскажет, ка сделать, чтоб при добавлении нескольких блоков, в каждом из которых декларируется библиотека, в скетче она появлялась только один раз?
в него ложите все, что должно быть общее для всех (библиотеки, функции, константы итд), а в другой блок индивидуальный код.
Win10-64, FLProg (portable)
Быстрые входы и выходы
Повторное декларирование библиотеки (если она правильно сделана см.ниже) никоим образом не увеличивает размер скомпилированного бинарника, как и комментарии, что имеет значение в отличии от размера скетча.seri0shka писал(а): 13 мар 2018, 15:50Кстати, кто подскажет, ка сделать, чтоб при добавлении нескольких блоков, в каждом из которых декларируется библиотека
В частности в указанной библиотеке производится проверка и...
#ifndef CyberLib_H // если библиотека CyberLib_H не подключена
#define CyberLib_H // тогда подключаем CyberLib_H
Т.о. эти директивы исключают повторное подключение библиотеки и необходимо обращать внимание на их наличие в заголовочном файле xxx*.h.
Быстрые входы и выходы
Sancho, а пример не выложите, а-то хоть и установил библиотеку всё ошибки при компиляции выдаёт.
Спасибо за пример.
Спасибо за пример.
Последний раз редактировалось krom23 23 июн 2018, 23:30, всего редактировалось 1 раз.
Быстрые входы и выходы
вот без библиотек, как проверить на скорость ?
ЗЫ:править приходится pin13mask pin12mask
ЗЫ:править приходится pin13mask pin12mask
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Быстрые входы и выходы
Выставляешь пин в 1, потом в 0, меряешь время осциллографом.
Но зачем изобретать велосипед, если библиотека делает тоже самое? И уже всё упаковано в одну строку с названием библиотеки.
Отправлено спустя 26 минут 48 секунд:
[ref]benic[/ref], Наверно ты сам не пробовал - галку надо ставить в блоке - "использовать один раз" иначе дефайны/byte править приходится в коде.
Код меньше библиотечного по весу, не говоря о стандартных read и write , но не по объёму/количеству строк.
Не могу вкурить - как и где библиотека добавляет байты....??? User я, одним словом .
Отправлено спустя 7 минут :
Скорости такие же, как и в моих потугах: генератор в виде вход на выход с инверсией(out=!in) 454 864 Гц.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Быстрые входы и выходы
http://codius.ru/articles/Тюнинг_Arduin ... боту_платы
вот это имел в виду, еще не вкурил как прикрутить
вот это имел в виду, еще не вкурил как прикрутить
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Быстрые входы и выходы
Что именно?
На следующей неделе попробую библиотеку обрезать до минимума, убрав инверсию и ещё, чего найду, сравню.
Отправлено спустя 1 минуту 17 секунд:
Попробовал почистить биб-ку - сбросила веса, стало как у [ref]benic[/ref].
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Быстрые входы и выходы
Пробовал, получилось, но отказался от этой затеи.
Причина - непонятно, какой вход/выход перед тобой на схеме, "константа", т.е.номер пина, не прописывается в строке "Лэйбла (отображается на схеме)" в виде изменяемого текста. Посему оставил большое количество элементов в папках входов/выходов. Думаю, тоже в это упретесь...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Быстрые входы и выходы
D14 - D19
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- belyx
- Сержант
- Сообщения: 251
- Зарегистрирован: 24 июл 2016, 20:38
- Откуда: Витебск Беларусь
- Благодарил (а): 7 раз
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Быстрые входы и выходы
Нет, для Меги в библиотеке прописаны лишь D2-D13, D22-D53. Увы...
Если есть возможность использования - придётся дописывать в библиотеке, не вникал в Мегу.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- belyx
- Сержант
- Сообщения: 251
- Зарегистрирован: 24 июл 2016, 20:38
- Откуда: Витебск Беларусь
- Благодарил (а): 7 раз
Быстрые входы и выходы
какой облом!дейсвительно только до 53
с 54 по 69 не прописаны,а они есть!
[spoiler] [/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 по аналогии что там написано.
или не стоит в это лезть?
с 54 по 69 не прописаны,а они есть!
[spoiler] [/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 раз
- Контактная информация:
Быстрые входы и выходы
При необходимости стоит, вооружившись даташитом и здравой логикой.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 гостя