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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы

Как программно отследить появление логического нуля на входе /Reset?

Непрочитано 12.01.2014, 00:41  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Как программно отследить появление логического нуля на входе /Reset?

Последний раз go to использовал лет пятнадцать назад. Некошерный оператор для Сей.
Без него гораздо приятней.
Реклама:
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 12.01.2014, 00:46  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Как программно отследить появление логического нуля на входе /Reset?

Глупость какая.
Это при разборе чужого кода (или старого своего) неудобно и только-то.
В откомпилированной программе все ветвления на переходах.
omercury вне форума  
Непрочитано 12.01.2014, 00:52  
Fraktal
Временная регистрация
 
Регистрация: 21.02.2013
Сообщений: 87
Сказал спасибо: 70
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Fraktal на пути к лучшему
По умолчанию Re: Как программно отследить появление логического нуля на входе /Reset?

ну если программа не большая то goto не вызывают затруднения
Fraktal вне форума  
Непрочитано 12.01.2014, 00:59  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Как программно отследить появление логического нуля на входе /Reset?

Сообщение от omercury Посмотреть сообщение
В откомпилированной программе все ветвления на переходах.
Охренеть! А я не знал, что Асм без этого не обходится...
Почитайте классиков наСИлия.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 12.01.2014, 01:23  
Fraktal
Временная регистрация
 
Регистрация: 21.02.2013
Сообщений: 87
Сказал спасибо: 70
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Fraktal на пути к лучшему
По умолчанию Re: Как программно отследить появление логического нуля на входе /Reset?

человек просто с утрировал проблему ))))
Fraktal вне форума  
Непрочитано 12.01.2014, 06:04  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Как программно отследить появление логического нуля на входе /Reset?

Сообщение от Fraktal Посмотреть сообщение
Godzilla82, я пробовал сделать через метку как Вы посоветовали , но что то студия у меня ругается на эти метки и пробовал объявлять как глобальные и как локальные.
Не знаю, что у вас за студия... Там вроде WinAVR стандартный. Там ничего не надо объявлять. Да и странно, что какая-то студия не следует стандартам языка Си.

Ну не нравится goto - используйте бесконечный цикл while(1) { }. Мне чисто визуально нравится goto. Иногда бывает полезным, когда надо вернуться к началу цикла из разных мест. Правда можно использовать continue;

Единственно, в студии PINA.0 не прокатит, нужно использовать (PINA & 1).
А ещё лучше:

PHP код:
 
#define BSTART    0b00000001

...

if( (PINA & BSTART) == 0 ) ... 

Последний раз редактировалось Godzilla82; 12.01.2014 в 09:44.
Godzilla82 вне форума  
Сказали "Спасибо" Godzilla82
Fraktal (12.01.2014)
Непрочитано 12.01.2014, 09:15  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Как программно отследить появление логического нуля на входе /Reset?

Сообщение от Fraktal Посмотреть сообщение
просто с утрировал проблему
Не-а, с вечерировал.
Сравните тексты с мышиными ходами GO TO и то же самое без них.
А насчет проблемы - сами не делайте это проблемой. Это просто вопрос стиля - стройного или растрепанного. Си вам не Асм.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 12.01.2014, 09:54  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Как программно отследить появление логического нуля на входе /Reset?

Сообщение от akegor Посмотреть сообщение
Это просто вопрос стиля - стройного или растрепанного.
Не только. Вот типичный случай:

Ожидание какого-то условия начала процесса.

Далее на разных этапах по ходу процесса надо проверять ещё раз 5 несколько условий. И при невыполнении любого из них надо вернуться в начало ожидания процесса.

У меня с помощью goto получилось просто, логично и понятно.

Если без goto - пришлось бы делать лишнюю оболочку из вечного цикла и использовать continue для перехода в начало, и break для выхда.
Godzilla82 вне форума  
Непрочитано 12.01.2014, 10:04  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Как программно отследить появление логического нуля на входе /Reset?

Сообщение от Godzilla82 Посмотреть сообщение
пришлось бы делать лишнюю оболочку из вечного цикла
Цикл никто не принуждает делать вечным. Есть ведь признак, по которому нужно находиться в цикле или выйти.
Трудно к этому прийти, но потом, простите, к мышиным ходам возврата нет.
К такому подходу подталкивает и обработка событий.
Кому интересно.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 12.01.2014 в 10:30.
akegor вне форума  
Непрочитано 12.01.2014, 10:47  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Как программно отследить появление логического нуля на входе /Reset?

Сообщение от akegor Посмотреть сообщение
Цикл никто не принуждает делать вечным. Есть ведь признак, по которому нужно находиться в цикле или выйти.
Ну признак - это дополнительная переменная. Вы читали, что я написал?

Просто мне логичнее и проще поставить goto. Для меня дополнительная оболочка из вечного цикла (или не вечного с дополнительной переменной-флагом, которая не нужна при goto) и операторы перехода к следующей итерации или выхода из цикла кажутся нагромождением, которое портит наглядность программы, этаким костылём.

А так - дело вкуса, конечно.
Godzilla82 вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49
[Решено] Всем эмбеддерам посвящается... Decan Отвлекитесь, эмбеддеры! 0 24.10.2005 14:43


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.