Перейти к содержанию

Pin_Change в Algorithm Builder


AlexEst

Рекомендуемые сообщения

Прошу помощи с Algorithm Builder. Я новичёк в этом. Надо обрабатывать прерывания по изменению входов PCINT0...5
В Algorithm Builder  есть прерывание только  Pin_Change без привязки к входам. Попытки ввести номер порта дают ошибку "Unknown interrupt name" есть у кого опыт работы с этими прерываниями?

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

4 часа назад, AlexEst сказал:

Видел этот регистр, но думал что он для маскировки неиспользуемых прерываний

Данная маска как раз для выбора выводов по изменению уровня на которых будет выполнятся прерывание. А уже в прерывании проверяете состояние вывода и делаете необходимое действие.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

То есть получается что можно использовать только один вход для прерывания по изменению, а все остальные надо замаскировать? Мне то надо отслеживать прерывания по изменению на 3 входах.

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

2 часа назад, AlexEst сказал:

То есть получается что можно использовать только один вход для прерывания по изменению

Я не писал, что только один. Можно выбрать хоть все которые доступны для выбора в данной маске (в зависимости от МК) и прерывание будет вызываться по любому выводу на котором лог уровень изменился. А чтобы знать по какому выводу было произведено прерывание, то необходимо будет проверять в прерывании состояние данных выводов.

Изменено пользователем Просто зашёл
Ссылка на комментарий
Поделиться на другие сайты

Даю ATtiny2313 разрешения в PCMSK на один вход, PCIE и глобальному прерыванию, но никакой реакции на изменение состояния входа не происходит.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, AlexEst сказал:

но никакой реакции на изменение состояния входа не происходит.

Предоставьте свой исходник и тогда будет видно, что Вы делаете не так. Так как при правильной настройке данная задача проста как гвоздь. :)

Или посмотрите рабочий вариант:Test.zip

Вывод РВ5 подтянут внутренним резистором, а на выводе РD6 подключите светодиод. Если РВ5 замкнуть на GND, то светодиод загорится, а при разомкнутом состоянии, светодиод погашен. 

 

Изменено пользователем Просто зашёл
Ссылка на комментарий
Поделиться на другие сайты

в GIMSK установил  PCIE в "1" , I-bit in SREG  установил в "1" , PCINT0 в Pin Change Mask Register PCMSKтоже установил в "1"

В программе сделал моргалку вы выход PD.0 чтобы видеть что контроллер  работает и чтобы не просто так программа ждала прерывание, как пишут " что то делаем"

PCINT0 checker.jpg

Ссылка на комментарий
Поделиться на другие сайты

17 минут назад, AlexEst сказал:

В программе сделал моргалку вы выход PD.0 чтобы видеть что контроллер  работает и чтобы не просто так программа ждала прерывание, как пишут " что то делаем"

Из данного предложения я совершенно ничего не понял. :unknw:

Ссылка на комментарий
Поделиться на другие сайты

Где Ваш исходник? Чтобы посмотреть параметры настройщика.

 

И ещё не маловажно: АВ регистры R16 и R17 использует для расчётов (как аккумулятор) и если Вы их используете в прерывании, то необходимо задействовать стек (как в моём примере). А если Вы будете использовать данные регистры для хранения значений, то Ваши значения будут периодически теряться.  На первых порах не используйте регистры R16 и R17 в своих программах пока не поймёте как всё работает.

Изменено пользователем Просто зашёл
Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, AlexEst сказал:

Chip is inaccessible

Он Вам пишет, что МК недоступен. Вам вначале нужно понять как и что нужно настраивать для работы. Есть нюанс который Вы должны запомнить: перед запуском АВ, Вы должны вначале подключить программатор и когда ОС его увидела только тогда запускать АВ. И на первый порах почаще заглядывать в Опции -> Опции среды -> Порт (перед отправкой программы на МК), где проверяете правильно ли выставлен порт и все ли галки установлены (их две и они все должны быть установлены).

Изменено пользователем Просто зашёл
Ссылка на комментарий
Поделиться на другие сайты

Это я знаю, у меня два российских адаптера USB -> SPI видимо что то с ними, потому что то пишет, то не пишет. Вчера с одним перестал писать второй писал, а сегодня второй писал, а теперь оба не пишут. И комп перезагружаю и сначала подключаю программатор, а потом запускаю АВ, галочки стоят, торможения все пробовал. Ничего не помогает. Просто проклятие какое то. Понял в чём ошибки были, но не загрузить исправленную прогу. Попрбую состыковать немецкий адаптер.

Ссылка на комментарий
Поделиться на другие сайты

17 минут назад, AlexEst сказал:

Ничего не помогает.

Возможно плохой контакт в шлейфе от программатора, или в разъёме на макетной плате. Если контакты хорошие то проблем с АБ не возникает. Советую для АВ использовать этот программатор – очень надёжно работает (проверял лично).

Для АВ

Кстати он выполнен по схеме из самой АВ. А можно использовать вот такой: То же работает хорошо

Свой исходник так и не покажешь? Без некоторых деталей долго можно воду в ступе толочь.:rake:

Ссылка на комментарий
Поделиться на другие сайты

И ещё забываю сказать, что использовать у тини2313 порта РА в таком варианте как у Вас не есть хорошо, так как РА2 это вывод RESET. :)

Ссылка на комментарий
Поделиться на другие сайты

Я подозреваю что бесплатный АВ записывает какое то количество программ в ЧИП, а потом блокирует его, потому что у меня уже много таких inaccessible набралось. Беру другой ЧИП, записываю в него какое то количество программ, а потом опять inaccessible. Видимо какой то бит устанавливает что по SPI не работает.

Я понял в чём была у меня ошибка, убрал, а записать в ЧИП не могу.

Сделаю шлейф для немецкого адаптера и буду им записывать hex код.

Pavel counters.alp

А в PORTA я не использую PA.3 = Reset

 

Ссылка на комментарий
Поделиться на другие сайты

А у вас бесплатный АВ или купленный? Я заметил как АВ выдаёт какую то ошибку вроде не то считывает с какого то адреса так и ЧИП inaccessible становится. Я проверил оба адаптера на другом компьютере и тоже inaccessible

Я  и использую SPA0008 - USB программатор для AVR-контроллеров

Ссылка на комментарий
Поделиться на другие сайты

Подключил немецкий адаптер и с немецкой программой всё заработало: записывает и считывает. АВ с немецким адаптером тоже не работает.

В общем дело не в ЧИПах, а в АВ, то ли вирус его покоцал, то ли что... Ну да ладно, буду программу делать на АВ, а записывать с немецкой. Вопрос теперь в другом: в 211 страничном описании есть ссылка на "Interrupt Vector" : When a logic change on any PCINT7..0 pin triggers an interrupt request, PCIF becomes set (one). If the I-bit in SREG and the PCIE bit in GIMSK are set (one), the MCU will jump to the corresponding Interrupt Vector. The flag is cleared when the interrupt routine is executed. В списке регистров нет "Interrupt Vector" тогда где его искать? Или это подразумевается Pin Change Interrupt ?

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, AlexEst сказал:

А у вас бесплатный АВ или купленный?

AB с некоторой версии (5.41? навскидку не вспомню) - официально бесплатный. И она кажется и последняя. Автор понял, что с Си не поборешься.

(и я тоже, хотя AB покупал. Реально наверное единственный софт, что покупал....)

Как ты не выделывайся... все равно придешь к Си.

 

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, AlexEst сказал:

Я подозреваю что бесплатный АВ записывает какое то количество программ в ЧИП, а потом блокирует его

Автор АВ – Громов. С 2010 года она совершенно бесплатная и не поддерживается автором. Ничего она не блокирует, народ многие годы на ней пишет программы и ничего не у кого не заблокировало до недавнего времени. Версия у Вас какая? Последняя 5.44.

Вот можете скачать данную версию: AB если у Вас другая.

Что касается исходника – исходник АВ это все файлы и папки проекта… пусковой файл с расширением .alp это то же самое, что Ваш скрин без файлов конфигурации настроек. Вы Смотрели мой исходник в архиве? Вот так и Вы должны были заархивировать свой проект и выложить архив. Иначе я не смогу Вам помочь.

 

Что касается прошивки МК. Чтобы не наступить на грабли с фьюзами до понимания как всё происходит, сделайте так:

1 Подключите МК к программатору.

2 Считайте с него фьюзы и нажмите кнопку «Применить». Заводская установка у тини2313 должна быть такой:

1200243139_ATtiny2313RC1.0.png.bc910e6aa4247b98d9ef6f31fd70e13b.png

3 Установите на вкладке частоту 1 МГц, вот так:

1.png.513177be5653826c7941d003632aa765.png

При прошивке МК, уберите лишние галки, если они установлены - оставьте так:

 

2.png.40402930c10f753875e73ee998600355.png

Имейте ввиду, что не вся периферия позволяет прошивать МК не отключая её от выводов: SCL; MOSI; MISO.

 

Подожду Полный архив Вашего проекта.

Забыл сказать про компилятор. Сделайте так:

3.png.c6a91be0af46a98e84ffaf83fa7ed250.png

Ссылка на комментарий
Поделиться на другие сайты

39 минут назад, AlexEst сказал:

Или это подразумевается Pin Change

Да, это и есть тот вектор прерывания, который вызывается при изменении уровней выбранных входов. Вы вообще мой пример смотрели? Пробовали его залить в МК и посмотреть как работает?

3 часа назад, AlexEst сказал:

А в PORTA я не использую PA.3 = Reset

Это Вы так думаете, а по факту когда записываете в прерывании значение регистра r17 в порт РА то полагаю происходит сброс МК. :) Так что лучше так не делать. 

Ссылка на комментарий
Поделиться на другие сайты

Ваш пример смотрел, но использовал от него только про стек.

У меня своя программа заработала и я собрал кабели чтобы проверить на своей макетной плате работу с энкодерами. Сейчас буду отлаживать программу. У меня задача складывать сигналы от одного энкодера с одним из  двух других. Не типичная задача. Обработка сигнала одного энкодера у меня уже работает по прерывания одного входа. Теперь задача сделать программу чтобы работала от двух энкодеров.

Порт А тогда не буду использовать. Хватит порта В.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...