|
Самоучитель по программингу PICов на С, PIC |
|
|
|
Jun 7 2006, 15:33
|
Группа: Новичок
Сообщений: 12
Регистрация: 7-06-06
Пользователь №: 17 852

|
Привет всем! Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ? А то программировать на асе хорошо, но на Си...интересно как Хотелось бы научиться, да не по чему.... Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю, TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 15)
|
Jun 9 2006, 12:49
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(TimR @ Jun 7 2006, 18:33)  Привет всем! Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ? А то программировать на асе хорошо, но на Си...интересно как Хотелось бы научиться, да не по чему.... Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю, TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им. Изучать Си лучше на PC, лучше под DOS. У Вас не будет проблем ни с особенностями МК, ни с особенностями ОС. Можно будет целиком сосредоточиться на языке. После освоения языка можно пересаживаться на МК. Литературу по использованию Си на PIC Вы вряд ли найдете. Все особенности реализации компилятора можно найти в документации на компилятор, который Вы предполагаете использовать. Насчет порта A. Обычно проблемы возникают либо из-за открытого стока у некоторых выводов порта, либо из-за неправильной его настройки в случае наличия АЦП у контроллера. Дело в том, что если даже Вы не используете АЦП, все равно нужно сделать настройки соответствующим образом, которые позволят использовать порт как обычный цифровой порт ВВ. Посмотрите внимательнее DS.
|
|
|
|
|
Jun 12 2006, 14:42
|
Группа: Новичок
Сообщений: 12
Регистрация: 7-06-06
Пользователь №: 17 852

|
[/Насчет порта A. Обычно проблемы возникают либо из-за открытого стока у некоторых выводов порта, либо из-за неправильной его настройки в случае наличия АЦП у контроллера. Дело в том, что если даже Вы не используете АЦП, все равно нужно сделать настройки соответствующим образом, которые позволят использовать порт как обычный цифровой порт ВВ. Посмотрите внимательнее DS.] АЦП у PIC16F627 нет, есть только ЦАП и то в неявном виде. Но насчет открытого стока, это возможно, спасиба за совет, попробую поставить подтягивающие резисторы. [Изучать Си можно по любой книге. Набраться опыта можно на сайте Microchip.com. В последнее время они приводят много примеров реализации одной и той же задачи на двух языках. Asm и Си.Там же есть Kit от Maestro, позволяющий автоматически генерировать код для общих задач на asm и си. Покопайтесь там. Прежде чем грешить на программатор, воспользуйтесь Протеусом.] [/Изучать Си можно по любой книге.] Согласен, но хотелось бы сразу ориентироваться на написание программ для МК - это дает практический интерес, а изучать общий (базовый) курс пробовал - не идет.. (нет "искры") [Набраться опыта можно на сайте Microchip.com.] Спасибо за совет полазаю, памарю. [/Прежде чем грешить на программатор, воспользуйтесь Протеусом] А не могли бы объяснить, что это, а то пока еще не знаю.
|
|
|
|
|
Jun 12 2006, 15:44
|
Участник

Группа: Новичок
Сообщений: 40
Регистрация: 9-02-06
Из: Стольного града Киева
Пользователь №: 14 144

|
To: TimR Недавно появилась книга Ю.А. Шпак "Программирование на языке C для AVR и PIC микроконтроллеров." М.К Пресс" 2006 Думаю то, что вам сейчас нужно. А простых учебников по C в сети пруд-пруди. И компиляторов простеньких тож (для шлифования мастерства). И DOS тут совершенно не причем. На второй вопрос не отвечу, так как я сижу на AVR.
--------------------
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...
//-------------------------------------------------------------------------------------------- (\__/) (O.o ) (> < ) Это Банни. Скопируй Банни себе в подпись, чтобы помочь ему на пути к мировому господству.
|
|
|
|
|
Jun 14 2006, 05:44
|
Участник

Группа: Участник
Сообщений: 48
Регистрация: 23-10-05
Пользователь №: 10 016

|
По поводу порта А. Там бывает не только АЦП, но и аналоговый компаратор, при включении все ножки сконфигурированы как аналоговый вход.
По поводу Си. Изучать его лучше с начала, то есть с базового курса, без которого все равно не попишешь для МК. Починай Кернигана, там все очень хорошо объяснено. И практиковаться лучше программируя в под ДОС, или консоль винды или линукса, меньше будет проблемм, и есть отладчики.
Посмотри сайт www.microchipc.com, много исходников на Си именно для микрочипа.
|
|
|
|
|
Jun 16 2006, 05:38
|
Знающий
   
Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063

|
[Изучать Си можно по любой книге.]
Все зависит от способностей.Однако надо написать очень много программного кода чтобы подружиться с языком.Перейти на си-компилятор для микроконтроллера не зная языка, тяжело. В этой цепи длинная связь , которая многих сразу утомляет.Правильно советует (_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. файлом.
|
|
|
|
|
Jun 19 2006, 05:20
|
Знающий
   
Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063

|
Цитата(INA @ Jun 18 2006, 19:13)  Подскажите, как подключить 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. Попробуйте и напишите как у вас получилось. Все файлы можно взять здесь:
|
|
|
|
|
Jun 20 2006, 12:56
|
Частый гость
 
Группа: Участник
Сообщений: 75
Регистрация: 18-06-06
Пользователь №: 18 151

|
Большое спасибо UPC2 за ценную информацию. Архив я скачал. Дело в том, что с ранними версиями MPLAB-а при подключении HT проблемм не было. Версия MPLAB7.4 мне понравилась в основном из-за редактора, в котором всё чётко разделяется цветом - команды, переменные и т.д., ну и ещё некоторые его удобства. Вообще я пишу на Си под Atmel-ы в CodeVision, а поскольку с PIC-ами занимался довольно долго, решил и для них иметь под рукой подобный инструмент.
Да, ERTY, к версии 7.4 я подключил HT9.5 действительно безо всяких проблемм. По этому поводу возник второй вопрос - версия HT9.5 у меня Lite - какие в ней ограничения, если таковые есть?
|
|
|
|
|
Jun 23 2006, 15:06
|
Группа: Новичок
Сообщений: 12
Регистрация: 7-06-06
Пользователь №: 17 852

|
Подскажите кто-нибудь сколько стоит rfPIC какой-нибудь, ну, например, rfPIC12F675. А то у нас в городе "N" в магазинах до сих пор нет....
|
|
|
|
|
Jun 23 2006, 20:31
|
Группа: Новичок
Сообщений: 14
Регистрация: 22-06-06
Пользователь №: 18 293

|
Цитата(TimR @ Jun 7 2006, 18:33)  Привет всем! Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ? А то программировать на асе хорошо, но на Си...интересно как Хотелось бы научиться, да не по чему.... Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю, TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им. Я встречал в нете весьма неплохо сканированную книжку с описанием Си именно для пиков, правда на английском. Где точно уже не помню, но на работе есть сама скачанная книга. Если интересно могу в понедельник выслать на мыло.
|
|
|
|
|
Jun 30 2006, 18:22
|
Группа: Новичок
Сообщений: 12
Регистрация: 7-06-06
Пользователь №: 17 852

|
[/quote] Я встречал в нете весьма неплохо сканированную книжку с описанием Си именно для пиков, правда на английском. Где точно уже не помню, но на работе есть сама скачанная книга. Если интересно могу в понедельник выслать на мыло. [/quote]
Извиняюсь что не отвечал... Очень много всего навалилось. Sorry
Вышли пожалуйста, буду признателен. Если интересно, то я тоже могу дать ссылку на полезную инфу по этой теме, но она тоже на англицком. Если нужно - дай знать!
Есть небольшой самоучитель по Си для АВР - его можно и к ПИКам применить для начала как знакомство...
|
|
|
|
|
Jul 4 2006, 17:37
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 29-03-06
Пользователь №: 15 582

|
Самоучитель по си для мелкочипа: http://www.remexpert.com/forum/dload.php?a...ile&file_id=317 (требуется регистрация) Более старая версия лежит здесь http://lord-n.narod.ru/walla.html (Особенности и рабочая среда HI-TECH PICC) На аналогичную тему видел книгу на англ.яз здесь: www.natahaus.ru или www.librus.ru (к сожелению точную ссылку дать не могу)
Сообщение отредактировал Tail - Jul 4 2006, 17:38
|
|
|
|
|
Jul 5 2006, 04:39
|
Частый гость
 
Группа: Свой
Сообщений: 106
Регистрация: 27-01-06
Из: г. Ярославль
Пользователь №: 13 686

|
Цитата(INA @ Jun 20 2006, 16:56)  Да, ERTY, к версии 7.4 я подключил HT9.5 действительно безо всяких проблемм. По этому поводу возник второй вопрос - версия HT9.5 у меня Lite - какие в ней ограничения, если таковые есть? Это смотря где брал. У меня есть версия без ограничений на 22июня сего года.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|