Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 06.07.2010, 17:21  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

baiderin,
Цитата:
while(1)
{
if(!mode) progr_mode();
else
if(!more) progr_more();
else
if (!less) progr_less();
};
Вы читать умеете? прерывание, нужно прерывание.
Для бронетанковых войск "Евстегнеев Микроконтролеры AVR семейства MEGA руководство пользователя" стр307 стр 308 глава Внешние прерывания. Прерывания первого и второго типа.
Реклама:
7Fantomas7 вне форума  
Непрочитано 06.07.2010, 17:26  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Сообщение от baiderin Посмотреть сообщение
Мал мал перепутал герцы с миллисекундами.
Цитата:
Опрос кнопок в динамической индикации позволяет избавиться от антидребезговых задержек- что очень хорошо.
А еще уменьшить количество потребных пинов под кнопки - например, кнопки последовательно с диодом, и от сегментов индикации на один вход МК. Если индикаторов 4, то 4 кнопки - расход 1 пин. Сложность кода увеличивается на капельку...
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Непрочитано 06.07.2010, 17:30  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

baiderin,
Цитата:
Я луше посижу, поковыряюсь в программе, но сделаю сам то, что смогу.
Чего и Вам желаю.
Так этож и делаю.
Цитата:
Цитата:
Просто прерывания в прерываниях- это плохо прогнозируемая вещь.
как правильно оформить
void main(void)
{
while (1)
{
if (mode==0){//ВЫБОР РЕЖИМА
delay_ms (50);//выдержка времени 0,05 сек для подавления дребезга
Чтото сюда написать чтоб возникло прерывание
};
}
mode- это та самая злая кнопка.
и мне откровенно начхать что в конечном счете delay будет 55мс. значит дребезга и тем более не замечу.
Вы гдето здесь видите прерывани в прерывании. Нужно сделать прерывание по состоянию пина. Я хочу узнать это возможно или нет. Если не возможно то тема закрыта вопрос снят. Если возможно то как.
И мне начхать какие там диоды куда подключаются. Я знаю как это делается.
Мне нужно знать как сделать то о чем спросил и точка.

Последний раз редактировалось 7Fantomas7; 06.07.2010 в 17:33.
7Fantomas7 вне форума  
Непрочитано 06.07.2010, 17:41  
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,725
Сказал спасибо: 2,424
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Поставьте кнопки на входы внешних прерываний.
baiderin вне форума  
Непрочитано 06.07.2010, 17:49  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

baiderin,
Для водителей бронепоезда, танкистов, водителей броневиков, водителей бронированых мотоциклов, водителей бронированых велосипедов, бронированых самокатов.
Цитата:
Поставьте кнопки на входы внешних прерываний.
Меня не интерисуют предложения об изменении схемы.
Меня интерисует как правильно оформить
void main(void)
{
while (1)
{
if (mode==0){//ВЫБОР РЕЖИМА
delay_ms (50);//выдержка времени 0,05 сек для подавления дребезга
Чтото сюда написать чтоб возникло прерывание
};
}
mode- это та самая злая кнопка.
Как сделать прерывание по изменению состояния пина.
Если такая конструкция не возможна то и точка тема закрыта.
Если такая конструкция возможна то как ее правильно сделать.
7Fantomas7 вне форума  
Непрочитано 06.07.2010, 17:54  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Фантомасу, я тебя и здесь достану. Проще самому расписать.
Вот чего я от тебя добивался - посмотри вложение. Нету делеев а задержка есть и можно выставить любую до 255 циклов отработки таймера 0 и опрос кнопок в прерывании. Туда же запихнешь и индикацию свою. А уж обработку кнопок можно и в основном цикле оставить, а можно и функциями сделать, это как соль и перец - по вкусу.
Вложения:
Тип файла: rar BUTTON.rar (53.1 Кб, 105 просмотров)
Halex07 вне форума  
Сказали "Спасибо" Halex07
E_C_C (12.01.2012)
Непрочитано 06.07.2010, 17:57  
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,725
Сказал спасибо: 2,424
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Кнопка LESS подключена к пину, который может вызывать внешнее прерывание INT0.
MODE- прерывание не сделать,третья кнопка, если сильно извратиться-то можно.
baiderin вне форума  
Непрочитано 06.07.2010, 18:00  
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,725
Сказал спасибо: 2,424
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Ему нужны только прерывания- и ничего больше.
baiderin вне форума  
Непрочитано 06.07.2010, 18:04  
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,725
Сказал спасибо: 2,424
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

"BUTTON.rar"- любопытно.
baiderin вне форума  
Непрочитано 06.07.2010, 18:15  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,955
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Прерывания в прерываниях ATmega8

Я не умею водить бронепоезд, танк и бронированный самокат. Я только еще раз скажу вам, что
Код:
void main(void)
{
while (1)
{
if (mode==0){//ВЫБОР РЕЖИМА
delay_ms (50);//выдержка времени 0,05 сек для подавления дребезга
Чтото сюда написать чтоб возникло прерывание
};
}
вот это принципиально неверно. Если вы проверяете пин и по изменению на нем хотите что-то сделать - ЭТО НЕ ПРЕРЫВАНИЕ. Прерывание не возникает "вот здесь". Оно на то и прерывание, что может возникнуть (прервать работу программы) где и когда угодно.

Хотя, если очень захотеть, можно вызвать прерывание и "вот тут" - например, создать условие для него (выставить флаг" и после этого разрешить это прерывание. Запрещено прерывание INT0, INT0 настроено на спад, линию INT0 перевести в 0, и разрешить INT0.

Но, простите, зачем такой изврат? Не проще ли вызвать нужную процедуру?
__________________
[ жизнь приятна и красива, если выпить литр пива ]

Последний раз редактировалось nml; 06.07.2010 в 18:19.
nml вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прерывания ATMega8 7Fantomas7 Микроконтроллеры, АЦП, память и т.д 21 03.07.2010 10:41
ATMega8 VS USB SkyProc Микроконтроллеры, АЦП, память и т.д 28 28.04.2010 17:01
Вложенные прерывания HITECH PIC16 picavr Микроконтроллеры, АЦП, память и т.д 17 07.03.2010 17:39
Вход в прерывания для PIC микроконтроллеров dimmich Микроконтроллеры, АЦП, память и т.д 4 06.12.2009 17:17
Котроллер дисплея на Atmega8 kosant Микроконтроллеры, АЦП, память и т.д 24 30.11.2009 20:57


Часовой пояс GMT +4, время: 18:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot