-
- А на каком проце надо? Если STM32, то идите по ссылке, там много полезного. - Visitor(30.01.2019 19:32, ссылка)
- Готово, проект сделан в IAR версии 8.20.1. У меня светодиод был на ноге PD12 (переделал на PA6) и успешно мигал от таймера. evgeniy1294(266 знак., 30.01.2019 00:04)
- Компиляла на последнем 8.32.2 - проходит нормально. Но прошивку еще не успела залить, т.к. пришлоcь разбираться с ее форматом (расширение ".out" не информативно). Поняла, что реально там ".elf", а ".bin" надо дополнительно заказывать в опциях. Ксения(139 знак., 30.01.2019 17:19)
- Просто я добавил много функций. Цель проекта была показать пример работы с GPIO, ультра компакт я не советую. Функции pincfg служат примером для настройки порта на вход, выход, альтернативную функцию, аналоговый вход и настройку внешних evgeniy1294(595 знак., 30.01.2019 18:01 - 18:07)
- Суть поняла, только противно мне, когда единицы явно двигают в runtime'е. Из-за этого и от масок нет никакой пользы. - Ксения(30.01.2019 18:37 - 18:45)
- Сдвигов в run-time не будет. misyachniy(171 знак., 30.01.2019 22:04)
- Это пока вы не напишите проект, в котором задействовано ног 170. Будете смотреть на эти сдвиги как на манну небесную. evgeniy1294(70 знак., 30.01.2019 19:20)
- Да у меня собственно уже есть такой проект, для которого ног мне катастрофично не хватает. Даже на STM32F429 глаз положила (ссылка №1) только из-за того, что у него ног еще больше, однако дорого показалось, тогда как моя на STM32F407 (ссылка №2) Ксения(300 знак., 30.01.2019 20:39, ссылка, ссылка)
- Можно кнопки через резисторы на входы АЦП по 5-10 кнопок на вход + подтяжка. Сложно обрабатывать одновременное нажатие нескольких кнопок. Если этого не нужно- очень удобно. - shan(31.01.2019 00:30)
- Грусть. Не тот грусть, который в корзинку кладут, а тот грусть, который тоска. Не тот тоска в который гвоздь забивают, а тот тоска, который грусть :) Вот мой простейший код для для AVR, который возвращает код нажатой кнопки матрицы 6*8. В Гудвин(1195 знак., 30.01.2019 21:39)
- А вы, оказывается, плоховато знаете C, если не пользуетесь операциями ++, +=, >>=. Но я согласна с вами в том, что на AVR это выглядит много проще. - Ксения(30.01.2019 21:56 - 21:59)
- А кто говорил, что я его знаю? Эти операции апофеоз мастерства? :) Мне не тяжко тиснуть пару лишних кнопок - зато код читабельнее. Вы лучше по теме давайте ;) - Гудвин(30.01.2019 22:04)
- Ммм... Nikolay_Po(468 знак., 30.01.2019 21:47)
- Я же отметил в посте - если надо, пусть точит :) Ибо просто показал Ксении принцип работы с матрицей кнопок. Каждому вершку-свой шесток ;) Мне вообще в этом прерывании абсолютно насрать на все остальное - это и есть весь функционал пульта (убрал Гудвин(472 знак., 30.01.2019 21:56)
- Для обработки клавы прерывания вообще не нужны. Достаточно периодически деркать машину состояний, которая просто опрашивает клаву через периоды, задаваемые программным таймером. Антидребезг делается тем же программным таймером. - evgeniy1294(30.01.2019 21:54)
- Моя проблема в том, что это эти кнопки не коленкой нажимаются, а на них энкодеры стоят (такие, как по ссылке). И их, зараз, на пульте много... - Ксения(30.01.2019 22:21, ссылка)
- 20 импульсов на круг, если ссылкой не ошиблись, для эргономичности пропорционального управления маловато. ПМСМ. Движения или дёрганными получатся, или ручку пальцами перехватывать придётся по нескольку раз за перемещение. Работе будет мешать. - Nikolay_Po(30.01.2019 22:59)
- Ее на много оборотов крутить не требуется - одного оборота хватит, но к сожалению импульсным энкодерам не ставят ограничитель на ось. Я не с потолка это утверждаю, а почти весь интернет перерыла. Эти самые доступные. - Ксения(30.01.2019 23:10)
- 20 шагов на этот оборот - не мало? 18 градусов поворота - и всего 1 клик. Очень грубая дискретность управления будет. По меню лазить - самое то. А вот управлять перемещением рабочего инструмента,скорее всего, будет неприемлемо. Nikolay_Po(206 знак., 30.01.2019 23:14)
- Маловато, надо бы 40. - Ксения(30.01.2019 23:23)
- Значит ищите другие, на нужное количество кликов. В идеале порядка 1000 шагов на оборот нужно, чтобы хирург был доволен. - Nikolay_Po(31.01.2019 09:54)
- прекрасные и вечные энкодеры получаются из шаговых двигателей от дисководов. - Alex68(30.01.2019 23:39)
- Маловато, надо бы 40. - Ксения(30.01.2019 23:23)
- 20 шагов на этот оборот - не мало? 18 градусов поворота - и всего 1 клик. Очень грубая дискретность управления будет. По меню лазить - самое то. А вот управлять перемещением рабочего инструмента,скорее всего, будет неприемлемо. Nikolay_Po(206 знак., 30.01.2019 23:14)
- Ее на много оборотов крутить не требуется - одного оборота хватит, но к сожалению импульсным энкодерам не ставят ограничитель на ось. Я не с потолка это утверждаю, а почти весь интернет перерыла. Эти самые доступные. - Ксения(30.01.2019 23:10)
- 20 импульсов на круг, если ссылкой не ошиблись, для эргономичности пропорционального управления маловато. ПМСМ. Движения или дёрганными получатся, или ручку пальцами перехватывать придётся по нескольку раз за перемещение. Работе будет мешать. - Nikolay_Po(30.01.2019 22:59)
- Моя проблема в том, что это эти кнопки не коленкой нажимаются, а на них энкодеры стоят (такие, как по ссылке). И их, зараз, на пульте много... - Ксения(30.01.2019 22:21, ссылка)
- А вы, оказывается, плоховато знаете C, если не пользуетесь операциями ++, +=, >>=. Но я согласна с вами в том, что на AVR это выглядит много проще. - Ксения(30.01.2019 21:56 - 21:59)
- А сколько кнопок? - evgeniy1294(30.01.2019 21:39)
- Мдя... you can take the girl out of the country, but you can't take the country out of the girl(c). Перевод на русский - патологическая дремучесть не лечится - MBedder(30.01.2019 21:03)
- Да у меня собственно уже есть такой проект, для которого ног мне катастрофично не хватает. Даже на STM32F429 глаз положила (ссылка №1) только из-за того, что у него ног еще больше, однако дорого показалось, тогда как моя на STM32F407 (ссылка №2) Ксения(300 знак., 30.01.2019 20:39, ссылка, ссылка)
- Суть поняла, только противно мне, когда единицы явно двигают в runtime'е. Из-за этого и от масок нет никакой пользы. - Ксения(30.01.2019 18:37 - 18:45)
- Просто я добавил много функций. Цель проекта была показать пример работы с GPIO, ультра компакт я не советую. Функции pincfg служат примером для настройки порта на вход, выход, альтернативную функцию, аналоговый вход и настройку внешних evgeniy1294(595 знак., 30.01.2019 18:01 - 18:07)
- Немного накосячил. evgeniy1294(146 знак., 30.01.2019 00:17)
- Компиляла на последнем 8.32.2 - проходит нормально. Но прошивку еще не успела залить, т.к. пришлоcь разбираться с ее форматом (расширение ".out" не информативно). Поняла, что реально там ".elf", а ".bin" надо дополнительно заказывать в опциях. Ксения(139 знак., 30.01.2019 17:19)
- Конечно. Могу дать пример на C++, он написан на CMSIS, т.е через прямое обращение к регистрам, за счет чего легко переводится на голый C. evgeniy1294(142 знак., 29.01.2019 15:30)
- STM32F407VET6, на плате два светодиода (см. картинку), кварц 8 МГц. Хотелось бы, чтобы светодиоды моргали с периодом 1 сек в противофазе или по меньшей мере один из них. Моргали бы по таймеру, а не от задержки. IDE = IAR || Atmel Studio. Если Ксения(45 знак., 29.01.2019 16:17, картинка)
- Ок, IAR на рабочей машине отсутствует, cделаю вечером на домашнем. - evgeniy1294(29.01.2019 16:29)
- А что у вас на рабочем стоит? Вы сами на чем предпочитаете компилировать? - Ксения(29.01.2019 16:30)
- Под ARM uvision и Segger Embedded Studio, иногда qt creator. - evgeniy1294(29.01.2019 16:41)
- А в этих двух ваших компиляторах CMSIS тоже используется? - Ксения(30.01.2019 17:10)
- Под ARM uvision и Segger Embedded Studio, иногда qt creator. - evgeniy1294(29.01.2019 16:41)
- А что у вас на рабочем стоит? Вы сами на чем предпочитаете компилировать? - Ксения(29.01.2019 16:30)
- Ок, IAR на рабочей машине отсутствует, cделаю вечером на домашнем. - evgeniy1294(29.01.2019 16:29)
- STM32F407VET6, на плате два светодиода (см. картинку), кварц 8 МГц. Хотелось бы, чтобы светодиоды моргали с периодом 1 сек в противофазе или по меньшей мере один из них. Моргали бы по таймеру, а не от задержки. IDE = IAR || Atmel Studio. Если Ксения(45 знак., 29.01.2019 16:17, картинка)