Микроконтроллеры | С чего начать изучение PIC-контроллеров новичку? |
|
---|---|---|
HOWK: Выходит, что чем больше программа по обьему - тем быстрее работает ? |
|
|
Ещё один очевидный момент -- алгоритм, выполняющий ту же задачу быстрее, может занимать больший объем. |
|
|
Добрый день господа программеры. Можно немного добавить слов в этот форум. Я пока отношу себя к ПИКоманам, но не заядлым. Изучение ПИКа думаю, лучше начать с разжеванной готовой программы мигания светодиодом. По-моему это классика жанра. Я года 4 назад так и начал с PIC16F84A. На тот момент у нас даже его нельзя было купить в радиомагазинах. Привезли мне аж из Москвы парочку. И началось, упорное чтение даташитов и ковыряние интернета на предмет русскоязычной доки. Я тогда подписался на рассылку по самостоятельному изучению ПИКов. Товарисч решил подробно разжевать вышеупомянутую программу. Сделал он это за 5 рассылок кажется. Очень доходчиво и неспеша. Я все это освоил и понял. В последней рассылки он сделал то же самое но уже с использованием прерываний. Вот тогда я понял, что это такое и с чем его едят. Всё! Следующий этап была сборка простого программатора, и первое опробование в реале. Сколько счастья было, когда этот жалкий светодиодик заморгал. Скажу сразу, что программить я начинал на Бэйсике Спектрума, потом Паскаль на ХТ, потом в университете АСМ, для какого советсткого проца, кажется ВМ80. Так вот скажу, асм из 35 команд воспринялся влегкую. И 35 команд пика, против около 200 АВР - это жирный плюс, НО! Столько команд АВРа делалось совсем не для того чтобы забить голову программеру, а для того что это изначально заточенная под ЯВУ архитектура. А пикостроители изначально, похоже такой целью не задавались. Второе - программизм на ЯВУ расслабляет. Программер зачастую не знает всех тонкостей архитектуры МК. На асме такой номер не пройдет, поэтому основная масса ошибок отметается уже на этапе отладки. Вторым моим проектом после светолдиода уже стал эмулятор таксофонной карточки. На 84м пике все прелестно запускалось и стабильно работало в нескольких экземплярах. Про медленный старт тут звучали явно необоснованные реплики. Потом были часы термометр термостат с ПИД законом регулирования тоже на асме. И еще несколько мелких проектов. Потом просто так собрал клон ICD2. Теперь отладка в железе действительно доставляет удовольствие. Сейчас знакомый попросил сделать простяцкий девайс в авто, который в зависимости от частоты импульсов с датчика скорости зажигал 3 пороговых светодиода и пикал динамиком. Я подумал, что это шанс взяться за изучение С. И взялся, и пошло поехало. Не скажу что писать на нем гораздо лучше. Да глядя на листинг асма, вижу, что там очень много лишнего, (например CCS перед каждой записью в бита в порт, еще и ставит запись бита в TRISx, которое к тому же еще сопровождается щелканием банков памяти). Но несомненное удобство ощущается при работе с математическими операциями. Тут асм конечно нервно курит в сторонке. Меток в программе стало значительно меньше тоже большой плюс. Но я уже не всегда могу уследить четко, когда и чем у меня занимается процессор. С асмом все всегда однозначно. |
|
|
Drex: Глядя на АВРовский асм и на 16 регистров общего назначения пропадает все желание кодить на асме. А Вы им всем имена присвойте сразу в заголовке листинга на АSSM... для регистра R0 можно, например, имя любимой тещи...и дело пойдет.. |
|
|
Vlad_Petr |
|
|
Drex: а элементарная проверка условия заставляет применят метку либо относительный переход Есть например команда sbrs. Переводится как Skip next command if Bit in Register Set. Как видите - на этом этапе метки ненужны. |
|
|
Drex |
|
|
caddr |
|
|
Wiza |
|
|
Вот уже который день пытаюсь запустить работу однопроводной шины на ножке RB5 PIC18F14K50. После долгих мучений обнаружил, что на этой ножке всегда считывается ноль. Сделал примитивный код инициализация дисплея, установка нужных ножек на вход и опрос ножек RA3, RB5, RB7. В результате RA3 и RB7 ведут себя адекватно: подаю лог. "1" вижу на ЖК "1", подаю "0" вижу "0". А вот на RB5 всегда ноль. Эта ножка также может быть задействована как RX UARTa, но я его не использую. Интересно, мог ли я убить эту ножку так, что она работает только на выход? |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |