Начиная программирование ПОС


13

Я изучал программирование PIC, но в отличие от некоторых других доступных микроконтроллеров, большое количество различных микросхем вызвало у меня некоторую путаницу. Похоже также, что некоторые из чипов, предлагаемых на некоторых сайтах как хороший выбор для людей, начинающих с программирования PIC, возможно, были заменены (или я просто еще больше запутался).

Итак, мой вопрос сводится к трем частям:

  • Каким будет хороший чип PIC для начала?

  • Я очень рад, что я использую ассемблер или какой-то другой язык, так что вы можете предложить в среде IDE / language для Linux?

  • Что бы вы посоветовали с точки зрения переноса кода на чип, через USB-соединение с ноутбука Linux (один вариант был PicKit 2?) И какая конфигурация схемы / платы мне понадобится для этого?

Изменить: После долгого обсуждения с Кортуком (см. Комментарии ниже) достоинств различных элементов набора, я решил начать с PicKit2 Starter Kit. Это идет с установленным чипом PIC16F690.

Ответы:


7

Я согласен с PIC18, но для кого-то, кто только начинает, они могут быть немного интенсивными. В настоящее время я преподаю разработку PIC для инженеров-электриков высокого уровня, и даже в тех же классах их опыт может быть поразительным.

В настоящее время я учу людей с компилятора CCS PIC-C, но это стоит денег. Это невероятно просто и было выбрано, так как большинство наших студентов работали только в лабораторных условиях с базовой сборкой или программированием на x86.

Я чувствую, что очень простой PIC16 может подойти лучше, но это будет зависеть от вашего фона. PIC16F688 - это очень простая PIC, которую мы используем в нашем первом проекте, чтобы согреть людей.


1
У меня есть диплом с отличием первого класса в области вычислительной техники, который включает в себя много программирования (в основном C ++, немного VB6, немного ассемблер). У меня также есть степень по математике, и я преподаю математику детям средней школы. Я могу программировать на разных языках (но не на C), и изучаю различные новые вещи, включая игру с микроконтроллерами.
Амос

1
16F88 - идеальный выбор. Существует миллион различных PIC, и я думаю, что около 50 000 из них хороши для начала. Программирование Микроконтроллеры очень часто создают проблемы людям, которым я помогал с CS, потому что они не брали много уроков по электричеству, что я хотел бы добавить в программы на получение степени. Я не думаю, что программирование вообще будет сложным, но, вероятно, было бы неплохо получить совет по разработке. Это будет зависеть от вашего ценового диапазона. microchipdirect.com/ProductSearch.aspx?Keywords=DV164120
Кортук

1
Я думаю, что последняя ссылка, которую я разместил, может быть хорошим выбором, она даст вам доску, с которой уже можно работать, за 50 долларов (-25%, если у вас есть электронная почта .edu), а затем у вас есть программист, которого вы можете использовать для любые другие фишки, которые вы получаете. Я с нетерпением жду услышать, как идут ваши проекты.
Кортук

1
Если вы получите DM164120-1, я бы посоветовал вам использовать PIC, который поставляется с ним. Я как раз помогаю кому-то с проектом, который им нужно будет преподавать завтра, или я буду искать больше, но в каждом месте, где я нахожу вашу доску, я не могу найти ее схему. Я могу сказать вам, основываясь на распиновке PIC16F631, она не совместима с PIC16F88. Контакты питания и программирования не будут совмещены. Если вы покупаете плату для разработчиков, просто используйте PIC, который идет с ней, вы будете значительно счастливее.
Кортук

2
Да, вы хорошо провели исследование. Моя помощь, возможно, была немного ошибочной. Если вы хотите, чтобы ваши ноги промокли, совет по разработке - это способ избежать работы с аппаратным обеспечением создания PIC до того, как вы будете готовы. Если вы пойдете по этому пути, я бы предложил использовать PIC, поставляемый с платой, и определить ваш следующий выбор PIC после того, как вы будете готовы создавать свои собственные платы. Если вы хотите создать свою собственную картинку с самого начала, купите программиста, картинку и все, что вам нужно для запуска картинки с самого начала. Вы можете сэкономить деньги и использовать макет.
Кортук

4

Для PIC есть компилятор с открытым исходным кодом под названием JAL (Just Another Language)

Как и другие языки программирования, это дает возможность использовать аппаратные библиотеки, что значительно упрощает процесс присоединения выбранного вами PIC к другому оборудованию. Программное обеспечение также позволит вам компилировать и загружать программы через ваш PIC2 (или клон этого программиста)

JAL - это язык на основе Pascal и бесплатное программное обеспечение (всегда приятно, если вы только начинаете)

JAL Wiki Entry

Что касается книг, «Микроконтроллеры PIC, 50 проектов для начинающих и экспертов» Берт Ван Дам, стоит посмотреть в качестве введения в JAL

До сих пор я использовал только чип 16F877A от PIC, очевидно, хороший чип для начинающих. Довольно дешево и много доступных портов.


Ура, я посмотрю. Использует ли JAL конкретную IDE, есть ли она для Linux?
Амос

1
Да, у него есть один, называемый JAL Edit, он будет держать вас прямо на стороне кодирования и имеет типичные инструменты, которые вы, как правило, найдете в IDE jal.sunish.net/jaledit
Justblair

К сожалению, это только для Windows, похоже, что для Linux есть одна под названием PicShell, текущая бета-версия находится по адресу: linux.softpedia.com/get/Text-Editing-Processing/IDEs/…
Amos

2

Что касается чипа, взгляните на серию 18F, почти такую ​​же дешевую, как 16F, и намного больше мужества. 18F2550 - хороший чип и включает в себя USB, есть другие в той же серии. Взгляните на таблицы выбора микрочипов на их сайте.

Бесплатная IDE от микрочипа, включая C, который вы должны использовать поверх ассемблера IMHO. Не уверен, что микросхема IDE работает в Linux, но может.

PicKit может быть полезен для программирования, может потребоваться сначала записать загрузчик, а затем загрузиться через USB. Bitwacker (Google это) является хорошей настройкой для использования или копирования.

Есть куча форумов и других сайтов, просто гугл. Одна проблема с PIC состоит в том, что существует так много языков, и ни один из них не является одинаковым (даже в компиляторах c). Если вы можете написать хороший вопрос, задайте его на piclist.com, но сначала сделайте свою домашнюю работу. Форумы - не лучшее место для обучения, ищите учебные сайты для этого (опять же, сайт bitwacher хорош, а также Google "Embedded Adventures", парень много сделал в Си (но не в микрочипах)


Я добавил в закладки Embedded Adventures, когда у меня есть час или два, чтобы убить, и взглянул на Bitwacker для дальнейшего использования. Приветствия.
Амос

1

Плата Dwengo основана на PIC18F4550, у них также есть недорогой клон PICkit2 и несколько очень хороших учебных пособий для начала работы: http://www.dwengo.org/tutorials


Интересный. Вы не были бы тем же Вимом, который также является членом команды Двенго?
Амос

Да, тот же самый ;-)
Вим

1

Что касается ссылок на некоторые вещи, я немного программировал с помощью PIC, используя Pik Kit 2 Pickit 1, я бы порекомендовал 100 проектов микроконтроллеров для злого гения, у меня также есть несколько постов в блоге, которые имеют дело с такими вещами

http://blog.onaclovtech.com/2010/01/interrupts.html

http://blog.onaclovtech.com/2010/01/analog-inputs.html

http://blog.onaclovtech.com/2010/02/pic-16f913-quick-reference-guide.html

http://blog.onaclovtech.com/2010/02/pic-16f913.html

Я планирую опубликовать обновление SPI, а также, когда я выясню, как работать с трафиком шины CAN с помощью микросхем, у меня тоже будут обновления.

Спасибо,

onaclov


Выглядит интересно, я посмотрю на твои вещи ближе, когда у меня будет минутка.
Амос

Возможно, я просто не знаю, где искать все время, но чувствую, что по сравнению с avr и arduino практически нет учебных пособий по PIC, и я действительно хотел бы изменить это ...
onaclov2000

1

Если вы хотите использовать PIC, я бы серьезно подумал о серии 16-битных PIC24 или очень похожих dsPIC33. Они быстрее, мощнее, во многих отношениях легче программировать и стоят не дороже, чем самые простые 8-битные. Более низкие также доступны в макетных DIP-розетках.

Хотя найти примеры в Интернете гораздо сложнее, но, насколько я понимаю, это главный недостаток.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.