Мелкие вопросы по МК и ПЛИС.
-
stason1982
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Вт май 04, 2010 13:30:48
Re: Мелкие вопросы по МК и ПЛИС.
И как я узнаю что кнопка зажата 10 с. если я ставлю прерывание по спаду? Отжала и загорелся светодиод, накой он мне нужен без кнопки? Это все легко решается прерыванием PCINT0_vect.
Но вопрос в том, если INT0_Vect зависает МК ,то его нужно назвать не прерывание, а зависание?? Или как бороться с таким явлением? Удивительно что никто не задавался таким вопросом.
Но вопрос в том, если INT0_Vect зависает МК ,то его нужно назвать не прерывание, а зависание?? Или как бороться с таким явлением? Удивительно что никто не задавался таким вопросом.
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Мелкие вопросы по МК и ПЛИС.
прямо изнутри этого цикла можешь на часы поглядывать...
Добавлено after 1 minute 55 seconds:
ещё раз: прерывание завесит контроллер, если I==0, если I==1, то другое прерывание сможет прервать это прерывание и выполниться
Добавлено after 2 minutes 24 seconds:
при вызове прерывания I=0 (это происходит аппаратно, для того чтобы прерывания не выполнялись одновременно или прерывание не могло вызваться многократно и сорвать стек), при завершении прерывания I аппаратно возвращается в 1. но никто не мешает взвести его программно...
Добавлено after 3 minutes 53 seconds:
но это если знаешь, что делаешь... (нужно исключить возможность многократного вызова одного и того же прерывания, в вашем случае кнопку не получится нажать раньше, чем она будет отпущена...)
Добавлено 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: Мелкие вопросы по МК и ПЛИС.
Ага, т.е. я в прерывании включаю прерывание(сбрасываю флаг запрета?), в итоге мой светодиод горит и счетчик тикает. Xотя где то читал что прерывание в прерывании может глюкнуть, но для моей задачи не страшно. Опыта мало, вот и набираюсь)
Re: Мелкие вопросы по МК и ПЛИС.
С наслаждением прочёл последний десяток сообщений stason1982 и Ivanoff-iv. Давно так не смеялся
Особенно доставило
, иstason1982 писал(а):Удивительно что никто не задавался таким вопросом.
Пишите ещё!Ivanoff-iv писал(а):если I==1, то другое прерывание сможет прервать это прерывание
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Мелкие вопросы по МК и ПЛИС.
Уважаемый ААХ, если бы Вы читали внимательно, то увидели что я и начал тему с:[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3560495#p3560495"]если по колхозному...[/uquote], а вместо того, чтобы смеяться, взяли бы, да объяснили котёнку, как писать правильно, и чтобы он не послал всё это программирование... (ведь тут придется с нуля сами принципы написания кода переосмыслить, уверен он и до этого дорастет и до РТОС, возможно..., точно уверен, что кнопки на прерываниях перерастёт сразу, как только кнопок потребуется больше, чем доступно прерываний
)
пс: я сам иногда использую вложенные прерывания (хоть и знаю, что это "неправильно"), но я знаю где это возможно и что нужно предпринять, чтобы не случился айяйяй...
пс: я сам иногда использую вложенные прерывания (хоть и знаю, что это "неправильно"), но я знаю где это возможно и что нужно предпринять, чтобы не случился айяйяй...
Re: Мелкие вопросы по МК и ПЛИС.
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3562569#p3562569"]кнопки на прерываниях перерастёт сразу, как только кнопок потребуется больше, чем доступно прерываний
[/uquote]а как же быть, если кнопок больше, чем доступно прерываний?
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Мелкие вопросы по МК и ПЛИС.
целая тема про это есть
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: Мелкие вопросы по МК и ПЛИС.
В приведённой Вами теме обсуждаются помимо данного вопроса другие, не менее важные, типа, "как включить подтягивающий резистор". Ваш ответ станет читать подрастающее поколение. Большинство современных молодых людей страдают синдромом рассеянного внимания, и могут не осилить 16 страниц. Не могли бы Вы коротко, конспективно, так сказать, обозначить путь решения проблемы прямо в этой теме?
Re: Мелкие вопросы по МК и ПЛИС.
по МК существуют специализированные форумы, если есть конкретный затык и никак не получается самостоятельно разобраться, то народ там всегда подскажет.
тут же общение на тему.
тут же общение на тему.
ZZZ С Нами Бог ZZZ
- Slabovik
- Друг Кота
- Сообщения: 17234
- Зарегистрирован: Чт апр 04, 2013 12:46:59
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Коротко: неверный изначально концепт, который нужно полностью переделывать. Необходимо производить опрос состояния клавиатуры по периодическому прерыванию (например, от таймера), а не вызывать прерывание кнопкой, которая либо зажимается, либо дребезжит.AAX писал(а):Не могли бы Вы коротко, конспективно, так сказать, обозначить путь решения проблемы прямо в этой теме?
Работа клавиатур Радио-86РК, ZX-Spectrum, Орион-128 и подобных хорошо описана в литературе, ваша задача только найти и ознакомиться...
Re: Мелкие вопросы по МК и ПЛИС.
[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 внутри, кнопки вешают на АЦП. Опрос состояния кнопок по таймеру ничем не отличается от опроса по внешнему прерыванию.
[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: Мелкие вопросы по МК и ПЛИС.
Тогда мне вообще не понятно, зачем вы присоединились к стенаниям stason1982 
Взяли бы, да и объяснили человеку...

Взяли бы, да и объяснили человеку...
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Мелкие вопросы по МК и ПЛИС.
Просто подобные темы всплывают на форуме уж слишком регулярно...
ААХ если Вам ещё актуально, тут накинули несколько готовых вариантов... пользуйтесь...
ААХ если Вам ещё актуально, тут накинули несколько готовых вариантов... пользуйтесь...
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: Мелкие вопросы по МК и ПЛИС.
я даже 16 страниц первой темы просмотрел. Там было пару дельных советов - просто не совать пальцы в розетку километровые куски кода с бестолковыми wait циклами по пол-секунды в прерывания. Но это, видимо, не путь джедаев
джедаи сами упражняются в "прерывании прерываний", и тому же учат бестолковых детей. Ну, надо отметить, дети сами виноваты.
[uquote="Slabovik",url="/forum/viewtopic.php?p=3563160#p3563160"]Тогда мне вообще не понятно, зачем[/uquote]Ну, по началу оно смешно было
Но авторы скисли чот.
[uquote="Slabovik",url="/forum/viewtopic.php?p=3563160#p3563160"]Тогда мне вообще не понятно, зачем[/uquote]Ну, по началу оно смешно было
-
Wladimir_TS
- Друг Кота
- Сообщения: 5066
- Зарегистрирован: Вс фев 15, 2009 01:04:58
- Откуда: Kaluga
Re: Мелкие вопросы по МК и ПЛИС.
В РК-86 вообще нет прерываний. Клавиатура опрашивается по запросу от программы к подпрограмме МОНИТОРа или своими силами. История нажатий, аки в писюке ни предусмотрена.
- Slabovik
- Друг Кота
- Сообщения: 17234
- Зарегистрирован: Чт апр 04, 2013 12:46:59
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Суть не в том, что есть прерывания или нет, а в том, что не кнопка (клавиатура) управляет процессором, а процессор периодически опрашивает кнопку, следя за её состоянием.
Ну, а с прерываниями это просто удобнее - появляется почти полная независимость от исполняемого кода.
Ну, а с прерываниями это просто удобнее - появляется почти полная независимость от исполняемого кода.
Re: Мелкие вопросы по МК и ПЛИС.
Озадачился вопросом округления цифр... Вроде всё просто, а вроде и сомнения остаются.
Имеем датчик температуры, дискретность 0,25. Но не всегда такую цифру можно прилепить на вывод. Хочется иметь возможность округлить до 0,5 и до целого.
Мои соображения:
Первый столбец температура измеренная, второй округлённая до 0.5, третий до целого. Видится это так:
Может у кого есть другое мнение?
Имеем датчик температуры, дискретность 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: Мелкие вопросы по МК и ПЛИС.
не ясно - почему?AndTer писал(а):Но не всегда такую цифру можно прилепить на вывод
я таки не понимаю, чем ваши соображения отличаются от "естественных"? т.е. все понимают, что такое "округление до 0,5" - вы что-то другое понимаете под этим? в таблице, вроде, все традиционно...AndTer писал(а):Мои соображения
или в чем вопрос?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Мелкие вопросы по МК и ПЛИС.
Ну как же, например просто нет места на индикаторе для 4 цифр + знак + символ температуры. Не делать же бегущей строкой)
Потому и не всегда.
Мои соображения под вечер могут ошибаться.
Да и кто то просто отбрасывает дробную часть, кто то может по другому бы округлял.
Не всегда математика, иногда и рационализм и просто хитрые замыслы.
Потому и не всегда.
Мои соображения под вечер могут ошибаться.
Да и кто то просто отбрасывает дробную часть, кто то может по другому бы округлял.
Не всегда математика, иногда и рационализм и просто хитрые замыслы.
Глупый не задает вопросы. Глупый и так все знает.
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Мелкие вопросы по МК и ПЛИС.
а какие сложности?
округление с 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;
округление с 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;
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...