Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
stason1982
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Вт май 04, 2010 13:30:48

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение stason1982 »

И как я узнаю что кнопка зажата 10 с. если я ставлю прерывание по спаду? Отжала и загорелся светодиод, накой он мне нужен без кнопки? Это все легко решается прерыванием PCINT0_vect.
Но вопрос в том, если INT0_Vect зависает МК ,то его нужно назвать не прерывание, а зависание?? Или как бороться с таким явлением? Удивительно что никто не задавался таким вопросом.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Ivanoff-iv »

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

Добавлено after 1 minute 55 seconds:
ещё раз: прерывание завесит контроллер, если I==0, если I==1, то другое прерывание сможет прервать это прерывание и выполниться

Добавлено after 2 minutes 24 seconds:
при вызове прерывания I=0 (это происходит аппаратно, для того чтобы прерывания не выполнялись одновременно или прерывание не могло вызваться многократно и сорвать стек), при завершении прерывания I аппаратно возвращается в 1. но никто не мешает взвести его программно...

Добавлено after 3 minutes 53 seconds:
но это если знаешь, что делаешь... (нужно исключить возможность многократного вызова одного и того же прерывания, в вашем случае кнопку не получится нажать раньше, чем она будет отпущена...)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
stason1982
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Вт май 04, 2010 13:30:48

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение stason1982 »

Ага, т.е. я в прерывании включаю прерывание(сбрасываю флаг запрета?), в итоге мой светодиод горит и счетчик тикает. Xотя где то читал что прерывание в прерывании может глюкнуть, но для моей задачи не страшно. Опыта мало, вот и набираюсь)
AAX
Опытный кот
Сообщения: 718
Зарегистрирован: Сб ноя 16, 2013 23:34:34

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение AAX »

С наслаждением прочёл последний десяток сообщений stason1982 и Ivanoff-iv. Давно так не смеялся :) Особенно доставило
stason1982 писал(а):Удивительно что никто не задавался таким вопросом.
, и
Ivanoff-iv писал(а):если I==1, то другое прерывание сможет прервать это прерывание
Пишите ещё!
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Ivanoff-iv »

Уважаемый ААХ, если бы Вы читали внимательно, то увидели что я и начал тему с:[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3560495#p3560495"]если по колхозному...[/uquote], а вместо того, чтобы смеяться, взяли бы, да объяснили котёнку, как писать правильно, и чтобы он не послал всё это программирование... (ведь тут придется с нуля сами принципы написания кода переосмыслить, уверен он и до этого дорастет и до РТОС, возможно..., точно уверен, что кнопки на прерываниях перерастёт сразу, как только кнопок потребуется больше, чем доступно прерываний :) )
пс: я сам иногда использую вложенные прерывания (хоть и знаю, что это "неправильно"), но я знаю где это возможно и что нужно предпринять, чтобы не случился айяйяй...
AAX
Опытный кот
Сообщения: 718
Зарегистрирован: Сб ноя 16, 2013 23:34:34

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение AAX »

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3562569#p3562569"]кнопки на прерываниях перерастёт сразу, как только кнопок потребуется больше, чем доступно прерываний :)[/uquote]а как же быть, если кнопок больше, чем доступно прерываний?
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Ivanoff-iv »

целая тема про это есть
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
AAX
Опытный кот
Сообщения: 718
Зарегистрирован: Сб ноя 16, 2013 23:34:34

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение AAX »

В приведённой Вами теме обсуждаются помимо данного вопроса другие, не менее важные, типа, "как включить подтягивающий резистор". Ваш ответ станет читать подрастающее поколение. Большинство современных молодых людей страдают синдромом рассеянного внимания, и могут не осилить 16 страниц. Не могли бы Вы коротко, конспективно, так сказать, обозначить путь решения проблемы прямо в этой теме?
Аватара пользователя
SSkot
Друг Кота
Сообщения: 3495
Зарегистрирован: Пн июл 23, 2018 10:36:20
Откуда: Казань

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение SSkot »

по МК существуют специализированные форумы, если есть конкретный затык и никак не получается самостоятельно разобраться, то народ там всегда подскажет.
тут же общение на тему.
ZZZ С Нами Бог ZZZ
Аватара пользователя
Slabovik
Друг Кота
Сообщения: 17234
Зарегистрирован: Чт апр 04, 2013 12:46:59
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Slabovik »

AAX писал(а):Не могли бы Вы коротко, конспективно, так сказать, обозначить путь решения проблемы прямо в этой теме?
Коротко: неверный изначально концепт, который нужно полностью переделывать. Необходимо производить опрос состояния клавиатуры по периодическому прерыванию (например, от таймера), а не вызывать прерывание кнопкой, которая либо зажимается, либо дребезжит.

Работа клавиатур Радио-86РК, ZX-Spectrum, Орион-128 и подобных хорошо описана в литературе, ваша задача только найти и ознакомиться...
AAX
Опытный кот
Сообщения: 718
Зарегистрирован: Сб ноя 16, 2013 23:34:34

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение AAX »

[uquote="Slabovik",url="/forum/viewtopic.php?p=3563110#p3563110"]Работа клавиатур Радио-86РК, ZX-Spectrum, Орион-128 и подобных хорошо описана в литературе, ваша задача только найти и ознакомиться...[/uquote]С работой клавиатур Радио-86РК и "подобных" спектрум-совместимых клонов я ознакомился около 30-ти лет назад, когда они мне были интересны. У 8080 нет GPIO, опрос (и передача) состояния клавиатуры осуществляется контроллером. Причём тут "кнопок больше, чем прерываний"? Вроде, взрослый человек, а туда же... ;)
[uquote="Slabovik",url="/forum/viewtopic.php?p=3563110#p3563110"]Необходимо производить опрос состояния клавиатуры по периодическому прерыванию[/uquote]на "фабричных" устройствах с кучей кнопок, и совсем фуфельными AVR внутри, кнопки вешают на АЦП. Опрос состояния кнопок по таймеру ничем не отличается от опроса по внешнему прерыванию.
Последний раз редактировалось AAX Пн фев 04, 2019 11:07:07, всего редактировалось 1 раз.
Аватара пользователя
Slabovik
Друг Кота
Сообщения: 17234
Зарегистрирован: Чт апр 04, 2013 12:46:59
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Slabovik »

Тогда мне вообще не понятно, зачем вы присоединились к стенаниям stason1982 :dont_know:
Взяли бы, да и объяснили человеку...
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Ivanoff-iv »

Просто подобные темы всплывают на форуме уж слишком регулярно...
ААХ если Вам ещё актуально, тут накинули несколько готовых вариантов... пользуйтесь...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
AAX
Опытный кот
Сообщения: 718
Зарегистрирован: Сб ноя 16, 2013 23:34:34

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение AAX »

я даже 16 страниц первой темы просмотрел. Там было пару дельных советов - просто не совать пальцы в розетку километровые куски кода с бестолковыми wait циклами по пол-секунды в прерывания. Но это, видимо, не путь джедаев :) джедаи сами упражняются в "прерывании прерываний", и тому же учат бестолковых детей. Ну, надо отметить, дети сами виноваты.
[uquote="Slabovik",url="/forum/viewtopic.php?p=3563160#p3563160"]Тогда мне вообще не понятно, зачем[/uquote]Ну, по началу оно смешно было :) Но авторы скисли чот.
Wladimir_TS
Друг Кота
Сообщения: 5066
Зарегистрирован: Вс фев 15, 2009 01:04:58
Откуда: Kaluga

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Wladimir_TS »

В РК-86 вообще нет прерываний. Клавиатура опрашивается по запросу от программы к подпрограмме МОНИТОРа или своими силами. История нажатий, аки в писюке ни предусмотрена.
Аватара пользователя
Slabovik
Друг Кота
Сообщения: 17234
Зарегистрирован: Чт апр 04, 2013 12:46:59
Откуда: Тюмень
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Slabovik »

Суть не в том, что есть прерывания или нет, а в том, что не кнопка (клавиатура) управляет процессором, а процессор периодически опрашивает кнопку, следя за её состоянием.
Ну, а с прерываниями это просто удобнее - появляется почти полная независимость от исполняемого кода.
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение AndTer »

Озадачился вопросом округления цифр... Вроде всё просто, а вроде и сомнения остаются.
Имеем датчик температуры, дискретность 0,25. Но не всегда такую цифру можно прилепить на вывод. Хочется иметь возможность округлить до 0,5 и до целого.
Мои соображения:
Первый столбец температура измеренная, второй округлённая до 0.5, третий до целого. Видится это так:

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

 3,00    3,0    3
 2,75    3,0    3
 2,50    2,5    3
 2,25    2,0    2
 2,00    2,0    2
 1,75    2,0    2
 1,50    1,5    2
 1,25    1,0    1
 1,00    1,0    1
 0,75    1,0    1
 0,50    0,5    1
 0,25    0,0    0
 0,00    0,0    0
-0,25   -0,0    0
-0,50   -0,5   -1
-0,75   -1,0   -1
-1,00   -1,0   -1
-1,25   -1,0   -1
-1,50   -1,5   -2
-1,75   -2,0   -2
-2,00   -2,0   -2
-2,25   -2,0   -2


Может у кого есть другое мнение?
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ARV »

AndTer писал(а):Но не всегда такую цифру можно прилепить на вывод
не ясно - почему?
AndTer писал(а):Мои соображения
я таки не понимаю, чем ваши соображения отличаются от "естественных"? т.е. все понимают, что такое "округление до 0,5" - вы что-то другое понимаете под этим? в таблице, вроде, все традиционно... :dont_know:

или в чем вопрос?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение AndTer »

Ну как же, например просто нет места на индикаторе для 4 цифр + знак + символ температуры. Не делать же бегущей строкой)
Потому и не всегда.

Мои соображения под вечер могут ошибаться.
Да и кто то просто отбрасывает дробную часть, кто то может по другому бы округлял.
Не всегда математика, иногда и рационализм и просто хитрые замыслы.
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Ivanoff-iv »

а какие сложности?
округление с 0,25 до 0,5: х=(х+1)>>1;
округление с 0,25 до 1: х=(х+2)>>2;
отбросить n бит с округлением (округлениетв 2^n раз): x=(x+(1<<(n-1)))>>n;
округление в n раз: x=(x+(n/2))/n; или x=((2x/n)+1)>>1;
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Ответить

Вернуться в «Разные вопросы по МК»