Перейти к содержанию
    

Самоучитель по программингу PICов на С

Привет всем!

Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ?

А то программировать на асе хорошо, но на Си...интересно как :cranky:

Хотелось бы научиться, да не по чему....

 

Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь

из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю,

TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что

в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изучать Си можно по любой книге.

Набраться опыта можно на сайте Microchip.com. В последнее время они приводят много

примеров реализации одной и той же задачи на двух языках. Asm и Си.Там же есть Kit от

Maestro, позволяющий автоматически генерировать код для общих задач на asm и си.

Покопайтесь там.

 

Прежде чем грешить на программатор, воспользуйтесь Протеусом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет всем!

Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ?

А то программировать на асе хорошо, но на Си...интересно как :cranky:

Хотелось бы научиться, да не по чему....

 

Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь

из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю,

TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что

в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им.

Изучать Си лучше на PC, лучше под DOS. У Вас не будет проблем ни с особенностями МК, ни с особенностями ОС. Можно будет целиком сосредоточиться на языке. После освоения языка можно пересаживаться на МК. Литературу по использованию Си на PIC Вы вряд ли найдете. Все особенности реализации компилятора можно найти в документации на компилятор, который Вы предполагаете использовать.

Насчет порта A. Обычно проблемы возникают либо из-за открытого стока у некоторых выводов порта, либо из-за неправильной его настройки в случае наличия АЦП у контроллера. Дело в том, что если даже Вы не используете АЦП, все равно нужно сделать настройки соответствующим образом, которые позволят использовать порт как обычный цифровой порт ВВ. Посмотрите внимательнее DS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А при программировании на Си нужно заботится о переключении банков памяти или компилятор сам это делает ? например IAR или hitech.

Скорей всего эту низкоуровневую работу компилятор делает сам, хотя если честно, то я не знаю: не работал с PIC'ами на Си. Но все-таки я уверен, что это делает сам компилятор :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

[/Насчет порта A. Обычно проблемы возникают либо из-за открытого стока у некоторых выводов порта, либо из-за неправильной его настройки в случае наличия АЦП у контроллера. Дело в том, что если даже Вы не используете АЦП, все равно нужно сделать настройки соответствующим образом, которые позволят использовать порт как обычный цифровой порт ВВ. Посмотрите внимательнее DS.]

 

АЦП у PIC16F627 нет, есть только ЦАП и то в неявном виде. Но насчет открытого стока, это возможно,

спасиба за совет, попробую поставить подтягивающие резисторы.

 

[Изучать Си можно по любой книге.

Набраться опыта можно на сайте Microchip.com. В последнее время они приводят много

примеров реализации одной и той же задачи на двух языках. Asm и Си.Там же есть Kit от

Maestro, позволяющий автоматически генерировать код для общих задач на asm и си.

Покопайтесь там.

Прежде чем грешить на программатор, воспользуйтесь Протеусом.]

 

[/Изучать Си можно по любой книге.] Согласен, но хотелось бы сразу ориентироваться на написание программ для МК - это дает практический интерес, а изучать общий (базовый) курс пробовал - не идет..

(нет "искры")

 

[Набраться опыта можно на сайте Microchip.com.] Спасибо за совет полазаю, памарю.

 

[/Прежде чем грешить на программатор, воспользуйтесь Протеусом] А не могли бы объяснить, что это, а то пока еще не знаю. :unsure:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

To: TimR

 

Недавно появилась книга Ю.А. Шпак "Программирование на языке C для AVR и PIC микроконтроллеров." М.К Пресс" 2006 Думаю то, что вам сейчас нужно. А простых учебников по C в сети пруд-пруди. И компиляторов простеньких тож (для шлифования мастерства). И DOS тут совершенно не причем. :)

 

На второй вопрос не отвечу, так как я сижу на AVR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу порта А. Там бывает не только АЦП, но и аналоговый компаратор, при включении все ножки сконфигурированы как аналоговый вход.

 

По поводу Си. Изучать его лучше с начала, то есть с базового курса, без которого все равно не попишешь для МК. Починай Кернигана, там все очень хорошо объяснено. И практиковаться лучше программируя в под ДОС, или консоль винды или линукса, меньше будет проблемм, и есть отладчики.

 

Посмотри сайт www.microchipc.com, много исходников на Си именно для микрочипа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

[Изучать Си можно по любой книге.]

 

Все зависит от способностей.Однако надо написать очень много программного кода чтобы

подружиться с языком.Перейти на си-компилятор для микроконтроллера не зная языка, тяжело.

В этой цепи длинная связь , которая многих сразу утомляет.Правильно советует (_Bill), чтобы

сразу не отпала охота,лучше начинать с досовского компилятора.Получение "Hello World", это

еще не освоение языка.Язык надо прочувствовать.После этого надо посмотреть какие функции

си-компилятор для PIC поддерживает, а какие нет.

Не советую использовать урезанные компиляторы (шароварные или которые для студентов).В них

много глюком.В том числе и банками памяти.Причем си уже не панацея.Сложность программ микроконтроллеров возросла очень сильно.В интернете можно найти много всяких библиотек на все случаи жизни.Системы реального времени.Всевозможные протоколы-LIN,CAN,USB и пр.Здесь уже элементы языка C++.Как правило эти библиотеки напмсаны опытными программистами.В них много

сложных конструкций.обьединений ,указателей.Это все надо хорошо освоить.Надо много писать.

Много лет использую компилятор Hi-Tech.Особых нареканий нет.Однако в последнее время

Microchip перестал его поддерживать.Только шаманство позволяет встроить его в последние версии

MPLABа.Microchip развивает теперь свой МСС18.По сравнению с Hi-Tech, немного тяжеловесней.

Нервируют немного lkr.файлы,дополнительные библиотеки.Зато лучше реализованы низкоуровневые

функции работы с памятью,EEPROM,I2C,ADC и пр.

Если вы еще не определились с компилятором, то советую для PIC16 использовать Hi-Tech, а для

PIC18- MCC18.

Я использую такой вариант:

 

PICC&MCC18+MPLAB 6.60+Proteus 6.7

Протеус связан с компиляторами coff. файлом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как подключить Hi-Tech компилятор к MPLAB 7.4?

 

К 7.4 не подключал, но давайте попробуем вместе.

В MPLAB в папке dlls должны быть библиотеки Suite_Hitech16.dll и Suite_Hitech18.dll.

Компилятор PICC поставляет библиотеку своей сюиты, а вот PICC18 нет.Библиотеку для него я взял

в MPLABе версии 6.30. Это помоему последняя версия которая поддерживала Hitech со

стороны MPLABа.

В папке LegasyLanguargeSuites должны быть файлы:

Picc_asm.mtc

Picc_cmp.mtc

Picc_lkr.mtc

 

ht18_asm.mtc

ht18_cmp.mtc

ht18_lkr.mtc

 

После загрузки MPLABa эти компиляторы должны появиться в его списке.

Важно (для начинающих)!

При прописывании пути к ассемблеру,сомпилятору и линковщику указывается файл picc.exe или

picc18.exe.

 

Попробуйте и напишите как у вас получилось.

Все файлы можно взять здесь:

ht_soft.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите, как подключить Hi-Tech компилятор к MPLAB 7.4?

 

А в чем собственно проблема? У меня вообще никаких проблем не было - запускаешь регистратор и все само собой получилось. Счас стоит на 7.4 HT9.5.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Большое спасибо UPC2 за ценную информацию. Архив я скачал. Дело в том, что с ранними версиями MPLAB-а при подключении HT проблемм не было. Версия MPLAB7.4 мне понравилась в основном из-за редактора, в котором всё чётко разделяется цветом - команды, переменные и т.д., ну и ещё некоторые его удобства. Вообще я пишу на Си под Atmel-ы в CodeVision, а поскольку с PIC-ами занимался довольно долго, решил и для них иметь под рукой подобный инструмент.

 

Да, ERTY, к версии 7.4 я подключил HT9.5 действительно безо всяких проблемм. По этому поводу возник второй вопрос - версия HT9.5 у меня Lite - какие в ней ограничения, если таковые есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите кто-нибудь сколько стоит rfPIC какой-нибудь, ну, например, rfPIC12F675.

А то у нас в городе "N" в магазинах до сих пор нет.... :angry2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...