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

 
 
> Компилятор С for PIC
phantom
сообщение Dec 14 2007, 10:39
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Подскажите плиз, какой нынче С-компилятор для PIC-ов "в моде" и где его найти-ть. Давно уже с PIC-ами не работал, все как-то на АВР-ках. Помню раньше MPLAB был,но там с С не сложилось в свободной версии.. Заранее спасибо! tort.gif


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex B._
сообщение Dec 14 2007, 13:10
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274



MPLAB - он вообще по жизни бесплатный.
Под какое семейство-то компилер нужен?
PIC16 - альтернативы Hi-Tech-у нет, есть на местном фтп в папке у Иваныча.
PIC18 - в общем-то тоже хай-тек рулит, хотя есть люди, успешно пользующиеся родным MCC18 - если нужен программный стек и реентерабельность (хай тек этого не умеет)
PIC24/dsPIC - только родный C30, без вариантов.
PIC32 - родной C32, GreenHills-а пока в сети нет

Как вариант под PIC16 и PIC18 - CCS (не путать с тексасовской средой =) - на фтп есть
http://www.ccsinfo.com/

SDCC - кроме того что он бесплатный ничего про него хорошего не слышал =)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 14 2007, 13:50
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Alex B._ @ Dec 14 2007, 15:10) *
SDCC - кроме того что он бесплатный ничего про него хорошего не слышал =)
Сравнивал с MCC18. Препроцессор MCC18 не смог правильно обработать макросы, за что и был забракован.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
volodya
сообщение Dec 17 2007, 06:08
Сообщение #4


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

Группа: Свой
Сообщений: 194
Регистрация: 14-02-07
Из: УКРАИНА
Пользователь №: 25 344



Цитата(Сергей Борщ @ Dec 14 2007, 15:50) *
Сравнивал с MCC18. Препроцессор MCC18 не смог правильно обработать макросы, за что и был забракован.

Нормально работают макросы, препроц. великолепно все отрабатывает. Работал достаточно долго. Даже подумываю купить "честную" лицензию у МЕЛКОЧИПА biggrin.gif .


--------------------
"Для того чтобы избежать критики, надо ничего не делать, ничего не говорить и никем не быть"
"Каждый из нас бывает дураком по крайней мере пять минут в день; мудрость заключается в том, чтобы не превысить лимит." Элберт Хаббард
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 17 2007, 11:18
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(volodya @ Dec 17 2007, 08:08) *
Нормально работают макросы,
Код
#define  LED    A, 1, H
#define _setH(port,bit)         LAT##port |= (1 << bit)
#define _clrH(port,bit)         LAT##port &= ~(1 << bit)
#define _set(port,bit,val)      _set##val(port,bit)
#define on(x)                   _set (x)
#define _clr(port,bit,val)      _clr##val(port,bit)
#define off(x)                  _clr (x)

void Test()
{
   on(LED);
   off(LED);
}
Не компилится. Путается в количестве аргументов.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
andron86
сообщение Feb 26 2011, 16:44
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(Сергей Борщ @ Dec 17 2007, 12:18) *
Код
#define  LED    A, 1, H
#define _setH(port,bit)         LAT##port |= (1 << bit)
#define _clrH(port,bit)         LAT##port &= ~(1 << bit)
#define _set(port,bit,val)      _set##val(port,bit)
#define on(x)                   _set (x)
#define _clr(port,bit,val)      _clr##val(port,bit)
#define off(x)                  _clr (x)

void Test()
{
   on(LED);
   off(LED);
}
Не компилится. Путается в количестве аргументов.

Даа... , я как понимаю влезь в ухо и вылези через ж..у. cranky.gif Это так буквально программисты понимают слово кодирование. :-) Не обижайтесь Сергей, просто зачем так, даже если это только пример?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 26 2011, 17:03
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (andron86 @ Feb 26 2011, 19:44) *
Даа... , я как понимаю влезь в ухо и вылези через ж..у.

Незабвенная Эллочка-людоедка тоже не смогла-бы оценить ни одно литературное произведение - уж больно у нее словарный запас и круг потребностей был мал.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
andron86
сообщение Feb 27 2011, 17:02
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(zltigo @ Feb 26 2011, 18:03) *
Незабвенная Эллочка-людоедка тоже не смогла-бы оценить ни одно литературное произведение - уж больно у нее словарный запас и круг потребностей был мал.

:-) Ваш юмор понятен:-). Просто когда программисты, в этих трёх строчках, ошибки ищут по три месяца, тогда да.... Кстати, в двоичном кодировании 2 знака и всё прекрасно, а можно было и все 33 буквы русского могучего использовать - представляете, как бы выглядели эти сочинения! :-) Имхо, чем проще написан код, тем работоспособнее он, отпадает зависимость от своеобразностей разных компиляторов, повышается читаемость итд. итп.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 27 2011, 17:14
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (andron86 @ Feb 27 2011, 20:02) *
Просто когда программисты, в этих трёх строчках, ошибки ищут по три месяца

Может это на самом деле не программисты???
QUOTE
тем работоспособнее он, отпадает зависимость от своеобразностей разных компиляторов, повышается читаемость итд. итп.

Вот именно с этой целью подобные макросы и пишутся (правда классические ляпы с экономией () в этих присутствуют sad.gif ). Хотя лично я подобными не пользуюсь (интересует обычно более высокие уровни абстракции), но это уже мое личное.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
andron86
сообщение Feb 27 2011, 18:29
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(zltigo @ Feb 27 2011, 18:14) *
интересует обычно более высокие уровни абстракции

Sorry за флуд :-) я это в этом контексте понимаю:
Цитата
С точки зpения банальной эpудиции, каждый индивидуум, кpитически мотивиpующий абстpакцию, не может игноpиpовать кpитеpии утопического субьективизма, концептуально интеpпpетиpуя общепpинятые дефанизиpующие поляpизатоpы. Поэтому консенсус, достигнутый диалектической матеpиальной классификацией всеобщих мотиваций в паpадогматических связях пpедикатов, pешает пpоблему усовеpшенствования фоpмиpующих геотpансплантационных квазипузлистатов всех кинетически коpеллиpующих аспектов. Исходя из этого, мы пpишли к выводу, что каждый пpоизвольно выбpанный пpедикативно абсоpбиpующий обьект pациональной мистической индукции можно дискpетно детеpминиpовать с аппликацией ситуационной паpадигмы коммуникативно-функционального типа пpи наличии детектоpно-аpхаического дистpибутивного обpаза в Гильбеpтовом конвеpгенционном пpостpанстве, однако пpи паpаллельном коллабоpационном анализе спектpогpафичеких множеств, изомоpфно pелятивных к мультиполосным гипеpболическим паpаболоидам, интеpпpетиpующим антpопоцентpический многочлен Hео-Лагpанжа, и возникает позиционный сигнификатизм гентильной теоpии психоанализа, в pезультате чего надо пpинять во внимание следующее: не только эзотеpический, но и экзистенциальный аппеpцепциониpованный энтpополог антецедентно пассивизиpованный высокоматеpиальной субстанцией, обладает пpизматической идиосинхpацией. Но так как валентностный фактоp отpицателен, то и, соответственно, антагонистический дискpедитизм дегpадиpует в эксгибиционном напpавлении, поскольку, находясь в пpепубеpтатном состоянии, пpактически каждый субьект, меланхолически осознавая эмбpиональную клаустоpофобию, может экстpаполиpовать любой пpоцесс интегpации и диффеpенциации в обоих напpавлениях, отсюда следует, что в pезультате синхpонизации, огpаниченной минимально допустимой интеpполяцией обpаза, все методы конвеpгенционной концепции тpебуют пpактически тpадиционных тpансфоpмаций неоколониализма. Hеоколонии, pазмножающиеся почкованием, имеют вегетационный пеpиод от тpех до восьми фенотипических гомозигот, но все они являются лишь фундаментальным базисом социогенетической надстpойки кpиогенно-кpеативного пpоцесса геpонтологизации. Увеличить этот базис можно с помощью гектаплазменного ускоpителя биоинеpтных коллоидных клеток контагиозной конкpетизации, однако введение конкpетизации влечет за собой пpименение методов теоpии множеств и дистpибутивного анализа, что обусловлено тем, что тpансцендентальная поликонденсация неpоноспоpы в пеpплексном хаосе может инбабулиpовать комплексный моpфоз только тогда, когда конституент доминанты квазитенденциально унивеpсален, и пpоисходит довольно внезапно. Очевидно, что все вышесказанное пpоливает свет на теоpию пpедикативных ощущений субъекта, абсолютно нефункциональных в условиях абстpактного хаоса.


Цитата(Сергей Борщ @ Feb 27 2011, 19:19) *
Это тараканы препроцессора. Если он не отвечает стандарту - макросы тут не при чем. Полагаю, вы не поняли всех прелестей этих макросов, поэтому они вам и показались слишком сложными.

Сергей, да не показалось мне это сложным, просто смотри цитату выше, можно многие элементарные выражения так завуалировать, что это не всем понятно будет, особенно компилятору.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 28 2011, 10:06
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (andron86 @ Feb 27 2011, 20:29) *
можно многие элементарные выражения так завуалировать, что это не всем понятно будет, особенно компилятору.
Можно. Но нужно это делать только тогда, когда нужно. В данном случае - нужно, этим достигается необходимая функциональность. Конкретный компилятор не отвечает стандарту. Меня не беспокоит каким образом он будет пытаться понимать, как он должен понять - описано в стандарте.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- phantom   Компилятор С for PIC   Dec 14 2007, 10:39
- - Сергей Борщ   sdcc можно глянуть. Слегка глючный, но бесплатный.   Dec 14 2007, 10:55
- - phantom   А MPLAB полный случаем нигде не пробегал?   Dec 14 2007, 11:52
|- - vanner   MPLAB - полнее не бывает . Сейчас с ней поставляет...   Dec 14 2007, 13:02
||- - volodya   Цитата(Сергей Борщ @ Dec 17 2007, 13:18) ...   Dec 18 2007, 07:16
|||- - Сергей Борщ   Цитата(volodya @ Dec 18 2007, 09:16) Дейс...   Dec 18 2007, 14:25
|||- - Alex B._   Цитата(Сергей Борщ @ Dec 18 2007, 17:25) ...   Dec 20 2007, 11:25
|||- - Сергей Борщ   Цитата(Alex B._ @ Dec 20 2007, 13:25) Обе...   Dec 20 2007, 13:28
|||- - evc   Цитата(Сергей Борщ @ Dec 20 2007, 16:28) ...   Dec 20 2007, 14:50
|||- - Сергей Борщ   Цитата(evc @ Dec 20 2007, 16:50) Код#defi...   Dec 20 2007, 15:31
|||- - Alex B._   Цитата(Сергей Борщ @ Dec 20 2007, 18:31) ...   Dec 20 2007, 18:20
||||- - Сергей Борщ   Цитата(Alex B._ @ Dec 20 2007, 20:20) это...   Dec 20 2007, 19:11
||||- - evc   Цитата(Сергей Борщ @ Dec 20 2007, 22:11) ...   Dec 21 2007, 15:50
||||- - Сергей Борщ   Цитата(evc @ Dec 21 2007, 17:50) Это особ...   Dec 21 2007, 17:25
||||- - evc   Цитата(Сергей Борщ @ Dec 21 2007, 20:25) ...   Dec 21 2007, 20:40
|||||- - Сергей Борщ   Цитата(evc @ Dec 21 2007, 22:40) Нет не н...   Dec 21 2007, 21:52
|||||- - Alex B._   Цитата(Сергей Борщ @ Dec 22 2007, 00:52) ...   Dec 21 2007, 22:21
|||||- - evc   Цитата(Сергей Борщ @ Dec 22 2007, 00:52) ...   Dec 24 2007, 12:08
|||||- - Сергей Борщ   Цитата(evc @ Dec 24 2007, 14:08) Адрес ка...   Dec 26 2007, 18:43
||||||- - evc   Цитата(Сергей Борщ @ Dec 26 2007, 21:43) ...   Dec 27 2007, 16:36
||||||- - Alex B._   Цитата(evc @ Dec 27 2007, 19:36) Читайте ...   Dec 28 2007, 08:54
||||||- - evc   Цитата(Alex B._ @ Dec 28 2007, 11:54) ......   Dec 28 2007, 15:08
||||||- - Сергей Борщ   Цитата(evc @ Dec 28 2007, 17:08) Вот вам ...   Dec 28 2007, 18:34
||||||- - evc   Цитата(Сергей Борщ @ Dec 28 2007, 21:34) ...   Dec 29 2007, 06:10
|||||- - Alex B._   Цитата(evc @ Dec 24 2007, 15:08) Насчет а...   Dec 26 2007, 20:55
||||- - DL36   Цитата(Сергей Борщ @ Dec 21 2007, 20:25) ...   Mar 1 2009, 16:20
||||- - Baser   Цитата(DL36 @ Mar 1 2009, 18:20) Действит...   Mar 1 2009, 21:20
||||- - DL36   Цитата(Baser @ Mar 2 2009, 01:20) Этот па...   Mar 2 2009, 06:10
||||- - DL36   Атомарная работа с портами в С30 статья и откоррек...   Mar 3 2009, 15:56
||||- - _Pasha   Цитата(DL36 @ Mar 3 2009, 19:56) Атомарна...   Mar 26 2010, 16:02
||||- - DL36   Цитата(_Pasha @ Mar 26 2010, 19:02) Я вот...   Mar 26 2010, 17:36
|||- - Baser   Цитата(Сергей Борщ @ Dec 20 2007, 17:31) ...   Dec 20 2007, 20:06
|||- - Сергей Борщ   Цитата(Baser @ Dec 20 2007, 22:06) И в ИА...   Dec 20 2007, 20:20
|||- - Baser   Цитата(Сергей Борщ @ Dec 20 2007, 22:20) ...   Dec 21 2007, 11:53
|||- - Сергей Борщ   Цитата(Baser @ Dec 21 2007, 13:53) Да, к ...   Dec 21 2007, 12:58
|||- - Baser   Цитата(Сергей Борщ @ Dec 21 2007, 14:58) ...   Dec 21 2007, 13:59
||- - andron86   Цитата(zltigo @ Feb 27 2011, 18:14) именн...   Feb 27 2011, 17:25
|||- - Сергей Борщ   QUOTE (andron86 @ Feb 27 2011, 19:25) Как...   Feb 27 2011, 18:19
|- - oran-be   Цитата(Alex B._ @ Dec 14 2007, 17:10) MPL...   Dec 19 2007, 11:58
- - phantom   Надо под PIC16 - PIC18. Посмотрел на ФТП там в раз...   Dec 17 2007, 12:25
|- - DL36   Цитата(phantom @ Dec 17 2007, 16:25) Надо...   Dec 17 2007, 14:01
- - Baser   Цитата(evc @ Dec 21 2007, 17:50) Это особ...   Dec 21 2007, 22:47
- - _Макс   Что можно использовать для PIC10? IAR и MPLAB его ...   Feb 26 2011, 15:56
|- - testerplus   Цитата(_Макс @ Feb 26 2011, 19:56) Что мо...   Mar 5 2011, 05:56
- - loghir   Подскажите ПЛЗ простейший исходник для тестировани...   Mar 13 2011, 18:46
|- - Ruslan1   Цитата(loghir @ Mar 13 2011, 20:46) Подск...   Mar 13 2011, 20:52
- - loghir   Ruslan1, спасибо! МК - PIC16F628 В MPLAB IDE...   Mar 14 2011, 09:41
|- - Ruslan1   Цитата(loghir @ Mar 14 2011, 11:41) Rusla...   Mar 14 2011, 21:19
|- - Bronislav   Цитата(Ruslan1 @ Mar 15 2011, 01:19) 4. А...   Mar 15 2011, 00:46
|- - Ruslan1   Цитата(Bronislav @ Mar 15 2011, 02:46) Во...   Mar 15 2011, 07:56
- - loghir   Поставил MPLAB IDE v8.30. (перезагрузил комп) В ок...   Mar 14 2011, 11:18
- - xemul   Цитата(loghir @ Mar 14 2011, 14:18) Созда...   Mar 14 2011, 13:02


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:09
Рейтинг@Mail.ru


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