|
Нужны ли вложенные прерывания? |
|
|
|
 |
Ответов
|
Aug 1 2009, 23:56
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(IgorMarx @ Aug 1 2009, 16:44)  Что касается I2C, то я бы прерывания делать не стал без явной необходимости - архитектурно программный модуль I2C получается проще, надёжнее и портабельнее (т.е. этот модуль можно удобно использовать для других проектов), когда регистры опрашиваются в цикле. Но это при условии, что ядру в этот момент совсем делать нечего. Ерунду Вы пишете полную... Если Вашему процу делать нечего настолько что Вы готовы сидеть в цикле и опрашивать - Вы выбрали не тот проц... I2C это самый типичный пример для interrupt driven transfer...
|
|
|
|
|
Aug 7 2009, 17:03
|

Участник

Группа: Участник
Сообщений: 61
Регистрация: 5-10-05
Из: Зеленоград
Пользователь №: 9 268

|
Цитата(singlskv @ Aug 2 2009, 03:56)  Ерунду Вы пишете полную... Если Вашему процу делать нечего настолько что Вы готовы сидеть в цикле и опрашивать - Вы выбрали не тот проц... I2C это самый типичный пример для interrupt driven transfer... Я 100% знал, что кто-нибудь придерётся и написал - "без явной необходимости". Цитата(Altemir @ Aug 3 2009, 15:00)  синхронизация времени должна была проходить ВНУТРИ прерывания, чтобы ни одна из процедур основного кода не получила расходящиеся значения времени. А теперь вопрос - чем ещё заниматься в прерывании кроме как ждать битов статуса, если вот так вот задача поставлена, а? Повторяю - для остальной периферии возможно потребуются вложенные прерывания. singlskv, читайте внимательнее. Мы тут знаниями делимся, а не соревнуемся кто умнее. Не нравится совет - придумайте более дельный.
Сообщение отредактировал IgorMarx - Aug 7 2009, 17:12
|
|
|
|
|
Aug 7 2009, 23:15
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(IgorMarx @ Aug 7 2009, 21:03)  А теперь вопрос - чем ещё заниматься в прерывании кроме как ждать битов статуса, если вот так вот задача поставлена, а? Вы вобще в курсе что I2C полностью статическая шина ? Если что будем сидеть в прерывании до конца ? Поллинг в прерывании это вобще новое слово в программировании... то есть конечно допустим для некоторых интерфейсов(например SPI в режиме мастера), но для I2C это просто бред... И не удивительно что при таком подходе "вдруг" становятся нужными вложенные прерывания... Цитата Повторяю - для остальной периферии возможно потребуются вложенные прерывания.  Цитата(Dog Pawlowa @ Aug 7 2009, 23:19)  Вы выбрали ..хм... не тот род занятий. Спасибо конечно за помощь в выборе рода занятий, но вот согласитесь ли Вы со мной поспорить на конкретном примере(то есть поспорить на конкретной реализации) ? Цитата I2C это самый типичный пример для включения в основной цикл. Задачки разные бывают... Сможете гарантировать передачу 6-8 байт за 1мс при скорости i2c ~100кбит и обслуживании обмена в основном цикле ?(обмен между 2 процами) При том что основной цикл считает плавучку с неадекватными временами реакции... Цитата(IgorMarx @ Aug 8 2009, 00:22)  А кто против прерываний? Да ради бога. Всё от задачи зависит. Просто приведу вам пример из свой практики, когда это не нужно. И процу действительно нечем заняться. Flashloader. Надеюсь, там знакомая. Я написал flashloader. В RAM загружается код, который шьёт flash и плюс EEPROM по шине 2IC. Попробуйте теперь меня убедить, зачем мне это делать не в цикле и что я не тот камень выбрал.
Я это не придумал, это реальный код, и вы бы поступили так же (почитали доку framework, где прерывания, мягко говоря, не предусмотрены) - сделали цикл. Если у кого-то не встречалась ситуация, когда этого делать не нужно, - может, просто опыта недостаточно? Это все очень "своевременные" замечания, но топик таки называется "Вложенные прерывания" ....
|
|
|
|
|
Aug 8 2009, 05:45
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(singlskv @ Aug 8 2009, 02:15)  Спасибо конечно за помощь в выборе рода занятий, но вот согласитесь ли Вы со мной поспорить на конкретном примере(то есть поспорить на конкретной реализации) ? Задачки разные бывают... Сможете гарантировать ... Не за что. Ну вот мы и пришли - Ваши задачи против моих задач. И что? Позовем третьего с другими задачами? Просто не обобщайте, и будет консенсус. По крайней мере я соглашусь  А возвращаясь с теме вложенности. Поразительно, 20-15 лет назад на 8080/8086 вложенность и приоритетность прерываний были естественным свойством системы. Убогость контроллеров, к счастью, уходящих сейчас, сделали это чем-то необычным.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Aug 8 2009, 06:12
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Dog Pawlowa @ Aug 8 2009, 08:45)  Поразительно, 20-15 лет назад на 8080/8086 вложенность и приоритетность прерываний были естественным свойством системы. Убогость контроллеров, к счастью, уходящих сейчас, сделали это чем-то необычным. Не так - убогость средств программирования, убогость операционных систем, и в первую очередь убогость программистов делало 20 лет назад вложенность "полезной". Хрен в под тем-же DOS организуешь "многозадачность" и выживешь при дисковых операциях без вложенных прерываний. Лично пользовал в прошлом широко. Однако при сколь-нибудь нормальном подходе к делу, вложенность, как минммум, бесполелезна в абсолютно подавляющем числе случаев. Причины "возрождения" поддержки вложенности на данном этапе развития контроллеростроения очень простые - пусть будет до кучи - ресурсы есть. А уровень программирования, опять, зачастую на уровне плинтуса. Массовость, однако.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 10 2009, 04:02
|
Частый гость
 
Группа: Участник
Сообщений: 132
Регистрация: 11-07-08
Пользователь №: 38 870

|
Цитата(zltigo @ Aug 8 2009, 10:12)  А уровень программирования, опять, зачастую на уровне плинтуса. Массовость, однако. Весь этот вопрос о вложенных прерываниях яйца выеденного не стоит. :-) Тем более , что человек уже как-то решил свою тайную проблему. Кто как хочет, тот так и двигает левой рукой(вариант -- правой)? Но Ваша фраза об уровне меня заинтересовала. Как можно оценить уровень программирования? Массовость??? Откуда она взялась???? У нас так много ВУЗов, которые готовят специалистов по программированию (в частности МК)???? Большинство из тех , кто здесь бывает и не бывает сами осваивали эту область.
|
|
|
|
|
Aug 10 2009, 04:10
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Step_ARM @ Aug 10 2009, 07:02)  Кто как хочет, тот так и двигает левой рукой(вариант -- правой)? Понятно. Подход "радиогубителя" - слепил что-то и "у меня работает". Цитата Но Ваша фраза об уровне меня заинтересовала. Как можно оценить уровень программирования? Спросить оценки у других.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 10 2009, 05:04
|
Частый гость
 
Группа: Участник
Сообщений: 132
Регистрация: 11-07-08
Пользователь №: 38 870

|
Цитата(zltigo @ Aug 10 2009, 08:10)  Понятно. Подход "радиогубителя" - слепил что-то и "у меня работает".
Спросить оценки у других. Хлоп, штампик поставил... Точно старый усталый программер. Как всегда -- я Д"Артаньян , а Вы все ... Я-то хотел той фразой сказать ,что путей решения очень много. А если я хочу оценить кого-то при приеме на работу? Я не настолько велик, чтобы кому-то давать оценку, а таких "гигантов " как Вы рядом нет. Как быть? Критерии все же нужны...
|
|
|
|
|
Aug 13 2009, 05:52
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Step_ARM @ Aug 10 2009, 07:04)  А если я хочу оценить кого-то при приеме на работу? Я не настолько велик, чтобы кому-то давать оценку, а таких "гигантов " как Вы рядом нет. Как быть? Критерии все же нужны... Так пусть это будут любые, НО ВАШИ критерии, а не какие-то "чужие", пусть и рекламируемые, как умные. Цитата(Step_ARM @ Aug 13 2009, 07:00)  Однако это не помешало ему заключить неплохой контракт за границей именно как прграммеру. Заграница, она такая  , а программирование давно уже участь домохозяек. Знакомая учительница жимии, предпенсионого возраста, повторно выщла замуж за иландского пенсионера, работы, соответственно, там не нашла. На курсах безработных освоила новую специальность "программиста" - работает. Погагаю, что с Российской колокольни, порядка 20 тысяч евро в год это уже "неплохой контракт". Практически аналогичная история в Штатах. Подбросить могу и примеры из жизни прогаммистов на Бейсике а Англии.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 13 2009, 06:50
|
Частый гость
 
Группа: Участник
Сообщений: 132
Регистрация: 11-07-08
Пользователь №: 38 870

|
Цитата(zltigo @ Aug 13 2009, 09:52)  Так пусть это будут любые, НО ВАШИ критерии, а не какие-то "чужие", пусть и рекламируемые, как умные. Заграница, она такая  , а программирование давно уже участь домохозяек. Знакомая учительница жимии, предпенсионого возраста, повторно выщла замуж за иландского пенсионера, работы, соответственно, там не нашла. На курсах безработных освоила новую специальность "программиста" - работает. Погагаю, что с Российской колокольни, порядка 20 тысяч евро в год это уже "неплохой контракт". Практически аналогичная история в Штатах. Подбросить могу и примеры из жизни прогаммистов на Бейсике а Англии. Наверное Вы правы... Но... Есть тут у меня человек один. Пишет для всего, что угодно. Как-то даже ключ для протокола обмена с блоком управления двигателем взломал за пару часов. А вот элементарный сигма-дельта АЦП на компараторе месяц ковырял пока нормально измерил. Как так? По моим критериям не есть хорошо, но ведь ключикто как-то получил...
|
|
|
|
Сообщений в этой теме
Altemir Нужны ли вложенные прерывания? Jul 31 2009, 21:45 aaarrr ИМХО, шина I2C вообще не предполагает работу с жес... Jul 31 2009, 22:05 Altemir Цитата(aaarrr @ Aug 1 2009, 02:05) ИМХО, ... Jul 31 2009, 22:27  defunct Цитата(Altemir @ Aug 1 2009, 01:27) Шина ... Jul 31 2009, 23:55   Altemir Цитата(defunct @ Aug 1 2009, 03:55) Так о... Aug 1 2009, 09:36    smac Цитата(Altemir @ Aug 1 2009, 13:36) Собст... Aug 1 2009, 14:38     Altemir Цитата(smac @ Aug 1 2009, 18:38) Я бы при... Aug 1 2009, 15:45      defunct Цитата(Altemir @ Aug 1 2009, 18:45) Да, т... Aug 1 2009, 23:25    IgorMarx Цитата(singlskv @ Aug 8 2009, 03:15) но в... Aug 8 2009, 04:38      SasaVitebsk Цитата(zltigo @ Aug 8 2009, 09:12) Не так... Aug 8 2009, 20:12       singlskv Цитата(SasaVitebsk @ Aug 9 2009, 00:12) А... Aug 9 2009, 00:21      Dog Pawlowa Цитата(zltigo @ Aug 8 2009, 09:12) Однако... Aug 9 2009, 05:17         aaarrr Цитата(Step_ARM @ Aug 10 2009, 09:04) Как... Aug 10 2009, 08:01          Step_ARM Цитата(aaarrr @ Aug 10 2009, 12:01) Все о... Aug 13 2009, 05:00           zltigo Цитата(Step_ARM @ Aug 13 2009, 08:50) Как... Aug 13 2009, 06:57            Step_ARM Цитата(zltigo @ Aug 13 2009, 10:57) Интер... Aug 13 2009, 12:59             zltigo Цитата(Step_ARM @ Aug 13 2009, 14:59) в и... Aug 13 2009, 13:11      sasamy Цитата(zltigo @ Aug 8 2009, 09:12) убогос... Aug 27 2009, 19:15  zltigo Цитата(singlskv @ Aug 2 2009, 02:56) Ерун... Aug 7 2009, 18:28  Dog Pawlowa Цитата(singlskv @ Aug 2 2009, 02:56) Ерун... Aug 7 2009, 19:19 Step_ARM Цитата(IgorMarx @ Aug 1 2009, 16:44) Отве... Aug 3 2009, 06:02  Altemir Всем спасибо за предложения. Всё сделал, проверил,... Aug 3 2009, 11:00 beer_warrior А зачем такиие сложности с вложенным прерыванем?
Т... Aug 2 2009, 07:01 Troll Цитата(Altemir @ Aug 3 2009, 15:00) Ещё о... Aug 3 2009, 12:57 Step_ARM Цитата(Troll @ Aug 3 2009, 16:57) Хрень к... Aug 4 2009, 03:54 IgorMarx А кто против прерываний? Да ради бога. Всё от зада... Aug 7 2009, 20:22
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|