Без описания |
Поиск в теме | Версия для печати |
Beatnik |
Отправлено: 17 Октября, 2007 - 13:01:25
|
Рядовой
Сообщений всего: 10
Дата рег-ции: Окт. 2007
|
Вообще эта песня бесконечная, как споры про Intel и amd. Есль люди, работающие на PIC и искренее удивляющиеся, почему так не распространены Atmel...да и вообще если посмотреть на количество публикаций схем МК, то эти камешки примерно делят их пополам. А теперь сугубо о тех или иных проблемах.
1. Программаторы. Не соглашусь что для PIC сложно сделать программатор..тот же PonyProg и ему аналогичные из "трёх проводков". Но в любом случае, если схема стала чуть более серьёзной чем два светодиода, стоит подумать о покупке более менее серьёзного программатора(а то канбибудь чтонибудь не так там в этих проводках пойдёт), не обязательно покупать шайбу за 150 баксов....Третьи фирмы по ценам около 15$ продают программаторы для PIC и Atmel...иногда даже в одном флаконе.
2. Оптимизация языка Си. И AVR и PIC18 заточены под си, и довольно хорошо, но если вам нужна производительность, нужно просто прибавить тактовой частоты, на каких контроллерах вы бы не работали.
3. Ассортимент контроллеров. И у тех и у других огромен...толмуды А4 по 100 страниц....Несостоятельно говорить что гдето есть перегруженые версии, ибо ситуация такая, что готовы выпускать микросхемы для всего отдельно и с максимумом нужной перефирии....недавно вот по своей теме капался, нашёл МК заточенный под счётчик электроэнергии, и что Atmel и PIC им по этому проиграют? вовсе нет, они и так уже навстраивали всё вплоть до USB и Ethernet MAC.
4. Практика программирования. Есть такая штука, на AVR проще заставить работать какой либо интерфейс, просто проще, ну к примеру UART или SPI новичку можно настроить без опыта за день, на PIC может быть гораздо дольше.
Сложно понять логику работы и настройки "пятого регистра второго канала первого 16 разрядного таймера счётчика" :-) в AtMega, на пике вообще можно сразу стреляться, но у PIC в документации об этом 50 страниц и пять Application Notes.
Не забываем, что у PIC нет по сути векторов прерываний...у него один вектор...и мы сами решаем кто же нас прервал...программно. Напротив у Atmel полноценные вектора..и всё заточено..например если флаг прерывания AVR чистит автоматически, то PIC Никогда этого не делает...всё ты руками. (Вообще эта тема с флагами очень актуальна, сразу чувствуешь гдето AVR тебе сам помогает, но порой бывают и проблемы..например я всё никак не привыкну чистить некоторые флаги записью в них единицы....в PIC они чистяться записью нуля как и следует).
Теперь о регистрах, тех же прерываний...Если в PIC все флаги прерываний и иже с ними находяться в одном блоке регистров, что очень удобно при написании и отладке...то в AtMega они равномерно размазаны по регистрам периферийных устройств. Такая ситуация наблюдаетсья и в других вещах, я бы сказал так, систематизация регистров PIC безусловно лучше.
5. Зелезячные аспекты. Ну например PIC шумит на выводах при включении, за эту миллисекунду пока питание растёт с 3 до 5 вольт на выходах появляеться произвольный мусор....ну светодиоду то ничего, а если у нас там флешка стоит? может случайно инициироваться процесс записи и вы потеряете данные. У Atmel такого не наблюдаеться. Очень часто при ошибках программирования простыми программаторами или неумело выставленных параметрах можно вогнать AVR в режим защиты на запись, из которого он уже никогда не выйдет....
6. Документация. Тут я обеими руками за PIC, документация на ура, структурированная,всегда написано что и как в какой последовательности делать..так как заморочек там обычно много, выпускаються дополнительные документы, по отдельным блокам. AVR наоборот, вроде итак всё ясно, дока не очень, и если учесть что настройки "системы" размазаны по всей переферии, а значит и по всей трёхсотстраничной доке это вдвойне неприятно. Я до сих пор смотрю на страничку AVR с подключением выводов к переферии, подтягивающим, регистрам направления итп итд регистрам...и не могу понять как этим пользоваться.
Я попытался быть объективным, я пользую и те и другие, и у меня к обоим есть дещёвые промышленные программаторы, впринципе нету разницы кого ставить, это вопрос привычки...правый руль или левый руль. Как вы видете, у них укаждых есть недостатки и приимущества. Я бы так всем посоветовал, попробовать оба, ваш опыт обогатиться и в случае чего вы не будете бояться пересесть на другое семейство, возможно даже и не PIC и не AVR.
Вроде всё..... |
|
|
jab |
Отправлено: 19 Марта, 2008 - 21:45:24
|
Лейтенант
Сообщений всего: 20
Дата рег-ции: Март 2008
|
Вставлю своих 5 копеек в пользу PIC micro.
Значит о сложности программаторов для пиков, так это миф.
Кто испытывает сложность тот идет по ссылке:
http://gauss2k.narod.ru/jab/jdm.htm
собирает и радуется.
Что касается языка программирования, то могу заметить, что все программирование как правило начинается с архитектуры взятого контроллера. Соответственно что бы правильно понимать, что происходит в контроллере в тот или иной момен, то лучше писать на асемблере. Кто то может заметить, что иногда потребуется написать слишком много кода, что бы выполнить сравнительно простое действие, но и тут могу заметить, что никто не мешает вам наработать ряд макросов или подпрограмм для большинства случаев жизни, а потом их пользовать и не набирать каждый раз заново. В конечном итоге есть теже самые СИ, бейсики, паскали для пиков и аверов. |
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): [1] 2 » |
« Программирование микроконтроллеров » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|