Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

PIC с нуля

Чт апр 03, 2014 14:02:14

Здравствуйте!

Решил начать изучать контролеры микрочипа. Собрал программатор PIC-Kit2, работает. Из железа есть PIC16F684 и PIC16F72. До этого есть опыт рабты с AVR и средой Codevision.

Ассемблер трогать пока не хочется. Какой из компиляторов лучше выбрать со средой разработки, более менее документированную на русском, Язык лучше всего Си.

Попробовал JAL Edit, какое то все странное ужасно, язык не понятно какой, хотя легко так то, документации ноль, по библиотекам не знаю.

Попробовал какую то вариацию СИ, забыл название. Там еще редактор красивый, кнопочки культурные. Тоже инфы очень мало. Наиболее распространенный МПЛАБ, хотелось бы на нем, но я так и не понял как туда прикрутить си и что вообще качать и как ставить )

Где можно чего почитать на русском языке? Только не отправляйте гуглить ) я Оттуда пришел как раз ) Мух от котлет из поиска отделить так и не смог

Re: PIC с нуля

Чт апр 03, 2014 14:40:52

Kotto писал(а):Наиболее распространенный МПЛАБ, хотелось бы на нем, но я так и не понял как туда прикрутить си и что вообще качать и как ставить )

XC8.
Я не ставил, но теоретически предполагаю, что после его установки при запуске нового проекта будет на выбор 2 компилятора: mpasm для ассемблера и ХС8 для С. Выбираете нужный и работаете.

Re: PIC с нуля

Чт апр 03, 2014 14:48:35

Да с грехом пополам я все же поставил, вроде даже что то скомпилировалось, а что потом, что почитать, может книга какая именно для этого Си или сайт с уроками, которых для АВР было полно, где объясняется понятными словами. Ведь есть какие то основы, общие для всего семейства пиков

Re: PIC с нуля

Чт апр 03, 2014 15:46:29

Литература у изготовителя в оригинале,на русском вот тута:
http://www.microchip.ru/lit/?mid=1x0
Ну и прочего... на просторах инета весьма много.
:sleep:

Re: PIC с нуля

Чт апр 03, 2014 19:18:05

Спасибо за ответ! А так скажем, по проще есть что нибудь? Даташиты конечно хорошо, но разбираться с нуля в среде, в новом МК достаточно тяжеловато по ним

Re: PIC с нуля

Чт апр 03, 2014 20:00:56

http://pic-project.ucoz.ru/_ld/0/16_C_for_PIC.pdf

вот что то вроде этого что ли ) для совсем новичков. Чем проще и тщательнее разжевано, тем лучше :)

Re: PIC с нуля

Чт апр 03, 2014 21:33:45

К MPLab IDE нужно просто скачать на торренте компилятор для нужного семейства (у вас вроде бы MPLAB C Compiller 18, ну или HITECH Сompillers) и установить, он его сам подхватит, насколько я помню. После этого при создании проекта будет выбор компиляторов - там и указывайте установленный.

Вот вам пример простых программ:

Programms.zip
(287.47 KiB) Скачиваний: 656

Re: PIC с нуля

Пт апр 04, 2014 15:05:26

Kotto писал(а):Даташиты конечно хорошо, но разбираться с нуля в среде, в новом МК достаточно тяжеловато по ним
Интересно, а с чем может быть проще разбираться в МК, как ни с даташитами ?
И причём тут среда и МК ? Вы определитесь, что хотите сначала выучить, IDE, язык или всё-таки сам МК.

Re: PIC с нуля

Вс апр 06, 2014 12:14:16

Установил MPLAB IDE X, по ссылке, которую я написал выше, вот такая программа дана, минимальная


#include <pic.h>

__CONFIG (INTIO & UNPROTECT & LVPDIS & BOREN & MCLRDIS & PWRTEN &
WDTDIS);

void main (void)
{
}

В визарде выбрал контролер PIC16F628, единственный у меня имеющийся на данный момент, за искл. PIC16F72, но вроде как он совсем древний.

Строка __CONFIG ругается, не хочет компилировать, без нее вроде идет. Но я так понял эта строка аналог фьюзов на AVR?
---

С даташитом разобраться можно будет наверное позже, когда что то более менее в голове уляжется на простых примерах. Даташит не привязан к компилятору. Хотел сначала выбрать PIC C Compiler, он позволяет первое время не задумываться о настройках, выставляя их галочками. Но он их, в отличие от Codevision AVR, куда то прячет, их не видно, какой код он создал с данными настройками. То ли я не правильно гуглю, то ли инфы по пикам для совсем чайников мало.

Re: PIC с нуля

Вс апр 06, 2014 12:26:58

Ну а среда и контролер, так на том же PCW код совсем другой в отличие от MPLAB, русских учебников не нашел ни по тому ни по другому

Re: PIC с нуля

Вс апр 06, 2014 12:31:41

Kotto писал(а):С даташитом разобраться можно будет наверное позже...

:facepalm:
А зачем?
Давайте уж совсем без даташитов...
Вообще то нужно не только даташит на контроллер изучить, но и мануал на компилятор и мануал на cреду разработки (IDE).
Иначе так и будете писать всякие глупости, не умея открывать инструменты в IDE и гадая на кофейной гуще относительно синтаксиса компилятора...
И все это при том, что в MPLAB имеется нормальный хелпер, где есть разделы и по среде и по компиляторам...

Re: PIC с нуля

Вс апр 06, 2014 12:40:59

Что мне сейчас даст даташит, когда я на MPLAB не могу и строчки написать, даже не понимаю почему программа из 5 строк не работает.

http://www.microchip.ru/files/d-sheets- ... 16f62x.pdf

Все на русском, даже выучив его наизусть я не смогу простую мигалку диодом написать. Все уроки что я нашел по MPLAB заканчиваются его установкой и выбором контролера, за исключением

http://pic-project.ucoz.ru/_ld/0/16_C_for_PIC.pdf

но программа оттуда не работает на MPLAB IDE X

Re: PIC с нуля

Вс апр 06, 2014 12:53:38

А что Вам даст среда, если Вы не знаете ни архитектуры, ни даже названий регистров?
:)

Re: PIC с нуля

Вс апр 06, 2014 13:02:37

http://avr-start.ru/?p=86

вот с подобных вещей начинал изучать AVR, может подобное есть для пиков? А точнее подобное по СИ, для ассемблера то нашел

Re: PIC с нуля

Вс апр 06, 2014 13:05:49

для xc8 конфиг, например для pic16f628, пишут так:
Код:
#include <xc.h>

#pragma config MCLRE=OFF
#pragma config CP=ON
#pragma config CPD=OFF
#pragma config BOREN=ON
#pragma config WDTE=OFF
#pragma config LVP=OFF
#pragma config PWRTE=ON
#pragma config FOSC=INTOSCIO

Re: PIC с нуля

Вс апр 06, 2014 13:09:17

Oleg110592, спасибо за ответ!
---

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

Re: PIC с нуля

Вс апр 06, 2014 13:27:12

мне в свое время в изучении помогли примеры для hi-tech pic c, такие: http://320volt.com/en/ornek-hi-tech-pic ... ri-kodlar/
Программы написанные давно на hi-tech pic c, иногда, для поддержки старых проектов, компилирую в xc8. Config приходиться переделывать и название некоторых регистров и битов немного не совпадает, а так все ранее написанное работает.
Вопрос, почему после AVR PIC, логичнее и перспективнее какой нибудь микроконтроллер с ядром ARM Cortex.

Re: PIC с нуля

Вс апр 06, 2014 13:43:18

Да я не профессионал, любитель паять в свободное время. Захотелось потрогать пики, почему бы и нет ) Тем более не надо покупать дорогой программатор, достаточно купить кусок текстолита и МК для программатора и все. Остальное надергал со старых плат. Может быть и до чего то по серьезнее дойду когда нибудь )

Re: PIC с нуля

Вс апр 06, 2014 18:44:43

Доходит кажется, вот отсюда http://pic-project.ucoz.ru/_ld/0/16_C_for_PIC.pdf

пример не компилировался, потому что стоял не тот компилятор, вроде как был PIC C 30 или что то вроде, не помню точно, на работе среда стоит. Сейчас поставил MPLAB X и PICC8, сразу же скомпилировалось все. Получается для разработки под PIC16F628 и PIC16F72 нужен PICC8? И значит семейство пиков делится на 8 бит и какие то по старше, для которых нужны уже другие компиляторы? Все правильно?

Re: PIC с нуля

Вс апр 06, 2014 19:12:36

Получается для разработки под PIC16F628 и PIC16F72 нужен PICC8?


Да. Поэтому я и сказал вам,попробовать C18 или HITECH Сompillers (он как раз вместо C8 идёт хорошо - на rutracker.org я не нашёл C8).

И значит семейство пиков делится на 8 бит и какие то по старше, для которых нужны уже другие компиляторы?


Да.

Но я так понял эта строка аналог фьюзов на AVR?


Да. Хотя можно задавать галочками и в среде программатора.

И не забывайте про список errata (список ошибок в контроллерах) - чем старше семейство и чем сложнее контроллер, тем, обычно, больше ошибок в нём. Даташиты, конечно, читать полезно, но если вы не знаете английского на достаточном уровне (как я - я учил немецкий, а английский сам потихоньку учится на very bad level :) ), то головной боли с пониманием что же там написано можно получить много.
Кортексы для дома берите только если распаять сумеете (как и старшие пики) и нужно много памяти на борту - о самодельщиках уже не думают, так что вытравить для них плату не так уж и просто.
Ответить