реклама на сайте
подробности

 
 
> Самоучитель по программингу PICов на С, PIC
TimR
сообщение Jun 7 2006, 15:33
Сообщение #1





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



Привет всем!
Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ?
А то программировать на асе хорошо, но на Си...интересно как cranky.gif
Хотелось бы научиться, да не по чему....

Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь
из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю,
TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что
в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 15)
upc2
сообщение Jun 9 2006, 06:10
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



Изучать Си можно по любой книге.
Набраться опыта можно на сайте Microchip.com. В последнее время они приводят много
примеров реализации одной и той же задачи на двух языках. Asm и Си.Там же есть Kit от
Maestro, позволяющий автоматически генерировать код для общих задач на asm и си.
Покопайтесь там.

Прежде чем грешить на программатор, воспользуйтесь Протеусом.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jun 9 2006, 12:49
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(TimR @ Jun 7 2006, 18:33) *
Привет всем!
Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ?
А то программировать на асе хорошо, но на Си...интересно как cranky.gif
Хотелось бы научиться, да не по чему....

Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь
из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю,
TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что
в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им.

Изучать Си лучше на PC, лучше под DOS. У Вас не будет проблем ни с особенностями МК, ни с особенностями ОС. Можно будет целиком сосредоточиться на языке. После освоения языка можно пересаживаться на МК. Литературу по использованию Си на PIC Вы вряд ли найдете. Все особенности реализации компилятора можно найти в документации на компилятор, который Вы предполагаете использовать.
Насчет порта A. Обычно проблемы возникают либо из-за открытого стока у некоторых выводов порта, либо из-за неправильной его настройки в случае наличия АЦП у контроллера. Дело в том, что если даже Вы не используете АЦП, все равно нужно сделать настройки соответствующим образом, которые позволят использовать порт как обычный цифровой порт ВВ. Посмотрите внимательнее DS.
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jun 9 2006, 12:52
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



--

Сообщение отредактировал _Bill - Jun 9 2006, 12:56
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 10 2006, 05:12
Сообщение #5


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Цитата(kertis @ Jun 9 2006, 23:10) *
А при программировании на Си нужно заботится о переключении банков памяти или компилятор сам это делает ? например IAR или hitech.

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


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
TimR
сообщение Jun 12 2006, 14:42
Сообщение #6





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



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

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

[Изучать Си можно по любой книге.
Набраться опыта можно на сайте Microchip.com. В последнее время они приводят много
примеров реализации одной и той же задачи на двух языках. Asm и Си.Там же есть Kit от
Maestro, позволяющий автоматически генерировать код для общих задач на asm и си.
Покопайтесь там.
Прежде чем грешить на программатор, воспользуйтесь Протеусом.]

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

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

[/Прежде чем грешить на программатор, воспользуйтесь Протеусом] А не могли бы объяснить, что это, а то пока еще не знаю. unsure.gif
Go to the top of the page
 
+Quote Post
DRUID_3
сообщение Jun 12 2006, 15:44
Сообщение #7


Участник
*

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



To: TimR

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

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


--------------------
практика - критерий истины ... отделенной от нас пропастью субъективного восприятия...

//--------------------------------------------------------------------------------------------
(\__/)
(O.o )
(> < ) Это Банни. Скопируй Банни себе в подпись, чтобы помочь ему на пути к мировому господству.
Go to the top of the page
 
+Quote Post
vanner
сообщение Jun 14 2006, 05:44
Сообщение #8


Участник
*

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



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

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

Посмотри сайт www.microchipc.com, много исходников на Си именно для микрочипа.
Go to the top of the page
 
+Quote Post
upc2
сообщение Jun 15 2006, 13:20
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



Протеус:
http://www.labcenter.co.uk
Go to the top of the page
 
+Quote Post
upc2
сообщение Jun 16 2006, 05:38
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 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. файлом.
Go to the top of the page
 
+Quote Post
INA
сообщение Jun 18 2006, 16:13
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 18-06-06
Пользователь №: 18 151



Подскажите, как подключить Hi-Tech компилятор к MPLAB 7.4?
Go to the top of the page
 
+Quote Post
upc2
сообщение Jun 19 2006, 05:20
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 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.

Попробуйте и напишите как у вас получилось.
Все файлы можно взять здесь:
Прикрепленные файлы
Прикрепленный файл  ht_soft.rar ( 300.33 килобайт ) Кол-во скачиваний: 243
 
Go to the top of the page
 
+Quote Post
Alich
сообщение Jun 19 2006, 11:46
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 27-01-06
Из: г. Ярославль
Пользователь №: 13 686



[quote name='upc2' date='Jun 19 2006, 09:20' post='125107']
[quote name='INA' post='124994' date='Jun 18 2006, 19:13']
Подскажите, как подключить Hi-Tech компилятор к MPLAB 7.4?
[/quote]

А в чем собственно проблема? У меня вообще никаких проблем не было - запускаешь регистратор и все само собой получилось. Счас стоит на 7.4 HT9.5.
Go to the top of the page
 
+Quote Post
INA
сообщение Jun 20 2006, 12:56
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 18-06-06
Пользователь №: 18 151



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

Да, ERTY, к версии 7.4 я подключил HT9.5 действительно безо всяких проблемм. По этому поводу возник второй вопрос - версия HT9.5 у меня Lite - какие в ней ограничения, если таковые есть?
Go to the top of the page
 
+Quote Post
TimR
сообщение Jun 23 2006, 15:06
Сообщение #15





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



Подскажите кто-нибудь сколько стоит rfPIC какой-нибудь, ну, например, rfPIC12F675.
А то у нас в городе "N" в магазинах до сих пор нет.... angry.gif
Go to the top of the page
 
+Quote Post
-KIT-
сообщение Jun 23 2006, 20:31
Сообщение #16





Группа: Новичок
Сообщений: 14
Регистрация: 22-06-06
Пользователь №: 18 293



Цитата(TimR @ Jun 7 2006, 18:33) *
Привет всем!
Хотелось бы узнать, существует ли самоучитель по программированию PICов на С/C++ ?
А то программировать на асе хорошо, но на Си...интересно как cranky.gif
Хотелось бы научиться, да не по чему....

Заодно, чтобы не открывать лишнюю тему, спрошу: возможно как-нить приручить хоть какой-нибудь
из портов RA? У меня PIC16F627A, вроде все ненужные модули контроллера программно отключаю,
TRISA - на выход, а они все работают как сами хотят... В чем может быть дело... Может еще в том, что
в настройках программатора нет PIC16F627A, а есть PIC16F627 (icprog) и приходится прошивать им.

Я встречал в нете весьма неплохо сканированную книжку с описанием Си именно для пиков, правда на английском. Где точно уже не помню, но на работе есть сама скачанная книга. Если интересно могу в понедельник выслать на мыло.
Go to the top of the page
 
+Quote Post
TimR
сообщение Jun 30 2006, 18:22
Сообщение #17





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



[/quote]
Я встречал в нете весьма неплохо сканированную книжку с описанием Си именно для пиков, правда на английском. Где точно уже не помню, но на работе есть сама скачанная книга. Если интересно могу в понедельник выслать на мыло.
[/quote]

Извиняюсь что не отвечал... Очень много всего навалилось. Sorry

Вышли пожалуйста, буду признателен. Если интересно, то я тоже могу дать ссылку на полезную инфу
по этой теме, но она тоже на англицком. Если нужно - дай знать!

Есть небольшой самоучитель по Си для АВР - его можно и к ПИКам применить для начала как знакомство...
Go to the top of the page
 
+Quote Post
Tail
сообщение Jul 4 2006, 17:37
Сообщение #18


Участник
*

Группа: Новичок
Сообщений: 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
Go to the top of the page
 
+Quote Post
Alich
сообщение Jul 5 2006, 04:39
Сообщение #19


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 27-01-06
Из: г. Ярославль
Пользователь №: 13 686



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


Это смотря где брал. У меня есть версия без ограничений на 22июня сего года.
Go to the top of the page
 
+Quote Post
Tail
сообщение Jul 5 2006, 06:06
Сообщение #20


Участник
*

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



Цитата
версия HT9.5 у меня Lite - какие в ней ограничения, если таковые есть?

http://www.htsoft.com/products/PICClite_comparison.php
Go to the top of the page
 
+Quote Post
INA
сообщение Jul 15 2006, 15:02
Сообщение #21


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 18-06-06
Пользователь №: 18 151



Да, скачивал по этой ссылке.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01556 секунд с 7
ELECTRONIX ©2004-2016