aaarrr 69 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба ИМХО, погорячились Вы немного, zltigo с последним примером. Вполне себе корректная хрень, если status объявить как U32 и использовать несколько прерываний от UART'а. А вообще код жуткий, согласен. Отдельно хочется отметить использование дебильных функций AT91F_что-то_там. Для начинающих вредная книга. Не рекомендую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Вполне себе корректная хрень, если status объявить как U32 и использовать несколько прерываний от UART'а. Там нет нескольких прерываний :( нету и комментариев по этому поводу нет..И даже в этом случае накой там: - чтение маски прерываний из контроллера? - контроль AT91C_US_RXRDY в вызываемой функции. В общем бездумно выдранный "из интернету" кусок, да и тот первоначально писанный левой ногой :(. А вызов функции с задержками из обработчика прерывания это нормально? А реализация самих задержек это нормально? А масочка 0x1FF в той-же функции это нормально? А муть while (!(AT91C_BASE_US0->US_CSR&AT91C_US_RXRDY)==1); в той-же вызываемой функции с какого бодуна писана? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба В случае нескольких прерываний читать маску приходится, никуда не деться. Масочка 0x1ff скопипейщена с какого-нибудь девятибитного примера, наверное. Муть и жуть, согласен. К сожалению, очень часто приходится наблюдать подобной кривизны решения. По-моему, возникают они тогда, когда человек просто не знает, как работает его железо :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба В случае нескольких прерываний читать маску приходится, никуда не деться. Я не про читать ФЛАГИ я про чтение и накладывание маски IMR. status &= AT91C_BASE_US0 -> US_IMR; когда человек просто не знает, как работает его железо Это часто, очнь часто, почти всегда встречается в халявных исходниках "из интернету", но тут ведь человек УЧЕБНИК яко-бы написал :( не зная ни языка ни контроллера, ни компилятора, ни IDE Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Я не про читать ФЛАГИ я про чтение и накладывание маски IMR. А флаги стоят всегда - спасибо фирме Atmel за наше счастливое детство. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба А флаги стоят всегда - спасибо фирме Atmel за наше счастливое детство. Стоят-то они стоят но смотреть-то на них зачем (даже аВТОР не смотрит :) ), если прерывания не разрешали??? Строкой ниже смотрится один конкретный флаг, если что вдруг, когда, потооом добавятся еще обработчики каких-то ситуаций, то они будут смотреть конкретно на свой флаг. Наличие этой мусорной строки необъяснимо ничем - просто "бубен". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Стоят-то они стоят но смотреть-то на них зачем (даже аВТОР не смотрит :) ), если прерывания не разрешали??? Строкой ниже смотрится один конкретный флаг, если что вдруг, когда, потооом добавятся еще обработчики каких-то ситуаций, то они будут смотреть конкретно на свой флаг. Наличие этой мусорной строки необъяснимо ничем - просто "бубен". А если у меня, например, стоит флаг TXRDY, а соответствующее прерывание запрещено и обрабатывать я его не хочу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба А если у меня, например, стоит флаг TXRDY, а соответствующее прерывание запрещено и обрабатывать я его не хочу? Мы это о чем? Никаких подобных "узоров" в обсуждаемом исходнике и близко нет. И сколь-нибудь полезных комментариев и указующей информации нет, и намеков на варианты подхода к делу нет :(. Наличие чтения и накладывания маски в этом исходнике не оправдано абсолютно ничем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба В этом исходнике не оправдано, а вот в жизни вполне нормальная конструкция. Если бы были комментарии, то для примера сошло бы. А так - да, из разряда бездумного копирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shurila 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба ... Такое "творчество" просто вредно читать начинающим. Да здорово вы (zltigo & aaarrr) "обули" автора! Вот только что же читать начинающим? Все оппоненты утверждают, что создание подобных примеров займет не более дня! Мужики сделайте доброе дело - напишите правильные примеры! Хорошо бы их выложить в отдельном топике или в статьях, но так чтоб доступ был только по чтению. Хочу сказать в защиту автора -> может с точки зрения стиля и не очень, но правильна сама задумка - короткие примеры нацеленные на демонстрацию работы с конкретной периферией. А уж тем кто переходит с 8-разрядников, пример как "дрыгнуть" ногой, изначально сэкономит дня два! Я уж не говорю про настройку среды IAR - при первых заходах мрачное зрелище, в смысле ее осмысления. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Все оппоненты утверждают, что создание подобных примеров займет не более дня! Где это они утверждают? Впрочем, да, подобных "примеров" можно наколупать/написать за день изрядное количество. Только кому тогда они нужны будут? Мужики сделайте доброе дело - напишите правильные примеры! Хорошо бы их выложить в отдельном топике или в статьях, но так чтоб доступ был только по чтению. Беда в том, что для составления нормальных примеров нужно все-таки потратить некоторое время - из рабочих проектов их не надергаешь, нужен несколько иной подход. А время = деньги. Я лично готов поделиться некоторыми примерами для SAM7S/SAM7X, если общественность это заинтересует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shurila 0 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба ... нужен несколько иной подход. А время = деньги. Вовсе не обязательно, выложить весь топик сразу. Пусть бы это было типа FAQ по SAM7S и пополнялось по мере. В конце концов мы все тратим какое-то время на ответы и в общем не за деньги. Наверно найдется достаточное количество народа, которые захотят внести свой вклад в виде конкретных примеров. Другое дело, что это все должно модерироваться уважаемыми гуру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Хочу сказать в защиту автора -> может с точки зрения стиля и не очень, но правильна сама задумка - короткие примеры нацеленные на демонстрацию работы с конкретной периферией. Примеры чего? Того,как писать не надо? Может в России уже начали выпускать буквари в которых начинают вместо "Маша мыла раму" учить язык с "Аффтар пЫшы Ышшо"? "Коротких примеров" сколь-нибудь полных для периферии сложнее светодиода на халяву не бывает. А для пина - смотрите в комплекте поставки IAR. Там будут и примеры проектов, и мигание светодиодом... Примеры есть обычно и сайте производителя - тоже, как правило не подарок, но и не такой мрак, как у аВТОРА сего шедевра. Я уж не говорю про настройку среды IAR - при первых заходах мрачное зрелище, в смысле ее осмысления. У IAR вполне приличная документация - просто надо ее ПРОЧИТАТЬ. Прочитать, а не рассматривать какие-то картинки-скриншоты зачем-то напечатанные на бумаге пытаясь понять как оно работает. Пусть бы это было типа FAQ по SAM7S и пополнялось по мере... Ага, откуда такая уверенность, что FAQ-комикс позволит понять то, что не поняли или даже скорее всего не захотели прочитать в родной документации? FAQ это уже для особых тонкостей. FAQ по зажиганию светодиода есть бред. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Пусть бы это было типа FAQ по SAM7S и пополнялось по мере. В конце концов мы все тратим какое-то время на ответы и в общем не за деньги. Наверно найдется достаточное количество народа, которые захотят внести свой вклад в виде конкретных примеров. Очень многие вопросы по SAM7 снимаются поиском по этому форуму. Можно собрать в одну тему ссылки на обсуждения наиболее распространенных проблем. Один FAQ уже есть, но он практически мертв :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 11 мая, 2008 Опубликовано 11 мая, 2008 · Жалоба Вот только что же читать начинающим? Ответ банален - первоисточники. http://www.atmel.com/dyn/products/alldatas...ily_id=605#1724 http://www.atmel.com/dyn/products/app_note...p?family_id=605 На худой конец в качестве ОБЗОРНОГО документа достаточно добротных западных писателей, типа http://www.hitex.com/download.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться