andron86 0 26 февраля, 2011 Опубликовано 26 февраля, 2011 · Жалоба #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: Это так буквально программисты понимают слово кодирование. :-) Не обижайтесь Сергей, просто зачем так, даже если это только пример? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 26 февраля, 2011 Опубликовано 26 февраля, 2011 · Жалоба Даа... , я как понимаю влезь в ухо и вылези через ж..у. Незабвенная Эллочка-людоедка тоже не смогла-бы оценить ни одно литературное произведение - уж больно у нее словарный запас и круг потребностей был мал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andron86 0 27 февраля, 2011 Опубликовано 27 февраля, 2011 · Жалоба Незабвенная Эллочка-людоедка тоже не смогла-бы оценить ни одно литературное произведение - уж больно у нее словарный запас и круг потребностей был мал. :-) Ваш юмор понятен:-). Просто когда программисты, в этих трёх строчках, ошибки ищут по три месяца, тогда да.... Кстати, в двоичном кодировании 2 знака и всё прекрасно, а можно было и все 33 буквы русского могучего использовать - представляете, как бы выглядели эти сочинения! :-) Имхо, чем проще написан код, тем работоспособнее он, отпадает зависимость от своеобразностей разных компиляторов, повышается читаемость итд. итп. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 27 февраля, 2011 Опубликовано 27 февраля, 2011 · Жалоба Просто когда программисты, в этих трёх строчках, ошибки ищут по три месяца Может это на самом деле не программисты??? тем работоспособнее он, отпадает зависимость от своеобразностей разных компиляторов, повышается читаемость итд. итп. Вот именно с этой целью подобные макросы и пишутся (правда классические ляпы с экономией () в этих присутствуют :( ). Хотя лично я подобными не пользуюсь (интересует обычно более высокие уровни абстракции), но это уже мое личное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andron86 0 27 февраля, 2011 Опубликовано 27 февраля, 2011 · Жалоба именно с этой целью Как раз эта цель и привела к тому, что компилятор оказался не работоспособен. Может это на самом деле не программисты??? Может. Не все художнинки аля Малевич. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 27 февраля, 2011 Опубликовано 27 февраля, 2011 · Жалоба Как раз эта цель и привела к тому, что компилятор оказался не работоспособен.Это тараканы препроцессора. Если он не отвечает стандарту - макросы тут не при чем. Полагаю, вы не поняли всех прелестей этих макросов, поэтому они вам и показались слишком сложными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andron86 0 27 февраля, 2011 Опубликовано 27 февраля, 2011 · Жалоба интересует обычно более высокие уровни абстракции 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актного хаоса. Это тараканы препроцессора. Если он не отвечает стандарту - макросы тут не при чем. Полагаю, вы не поняли всех прелестей этих макросов, поэтому они вам и показались слишком сложными. Сергей, да не показалось мне это сложным, просто смотри цитату выше, можно многие элементарные выражения так завуалировать, что это не всем понятно будет, особенно компилятору. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 28 февраля, 2011 Опубликовано 28 февраля, 2011 · Жалоба можно многие элементарные выражения так завуалировать, что это не всем понятно будет, особенно компилятору.Можно. Но нужно это делать только тогда, когда нужно. В данном случае - нужно, этим достигается необходимая функциональность. Конкретный компилятор не отвечает стандарту. Меня не беспокоит каким образом он будет пытаться понимать, как он должен понять - описано в стандарте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
testerplus 0 5 марта, 2011 Опубликовано 5 марта, 2011 · Жалоба Что можно использовать для PIC10? IAR и MPLAB его не поддерживают :( HT-PICC и CCS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
loghir 0 13 марта, 2011 Опубликовано 13 марта, 2011 · Жалоба Подскажите ПЛЗ простейший исходник для тестирования компилятора. (Стыкую MPLAB IDE с HT_PICC, толку мало - не компилится.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 13 марта, 2011 Опубликовано 13 марта, 2011 · Жалоба Подскажите ПЛЗ простейший исходник для тестирования компилятора. (Стыкую MPLAB IDE с HT_PICC, толку мало - не компилится.) Какое семейство и какой компилятор? надеюсь не PRO ? для PIC18 #include <pic18.h> void main(void) { } для PIC16: #include <pic.h> void main(void) { } ну и конечно в мплабе семейство соответствующее выбрать нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
loghir 0 14 марта, 2011 Опубликовано 14 марта, 2011 · Жалоба Ruslan1, спасибо! МК - PIC16F628 В MPLAB IDE 8.46 компиляция не идет ни с Hi-Tech PIC C-compiler v9.60 std, ни с Hi Tech PICC v8.05pl2. (Оба активированы). Еще у меня есть MPLAB IDE v8.30, буду с ним пробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
loghir 0 14 марта, 2011 Опубликовано 14 марта, 2011 · Жалоба Поставил MPLAB IDE v8.30. (перезагрузил комп) В окне создания проекта выбрал как на картинке: Создал файл, подключил к проекту. #include <pic.h> void main(void) { } Пишет ошибку: Build D:\Work\C\test_9_6 for device 16F628A Using driver C:\Program Files\HI-TECH_9.60\bin\picc.exe Executing: "C:\Program Files\HI-TECH_9.60\bin\picc.exe" -q -g --asmlist --chip=16F628A "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s" -P --char=unsigned -C D:\Work\C\test11.c Warning [176] D:\Work\C\test11.c; 4.0 missing newline Warning [337] D:\Work\C\test11.c; 3.1 line does not have a newline on the end Может, надо было не picc.exe подключать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xemul 0 14 марта, 2011 Опубликовано 14 марта, 2011 · Жалоба Создал файл, подключил к проекту. #include <pic.h> void main(void) { } Пишет ошибку: Warning [176] D:\Work\C\test11.c; 4.0 missing newline Warning [337] D:\Work\C\test11.c; 3.1 line does not have a newline on the end Warning - предупреждение. missing newline, line does not have a newline on the end - компилятор предупреждает, что программа не заканчивается символом перевода строки. Эти предупреждения на работе программы точно не скажутся, просто неаккуратненько. Описания сообщений об ошибках и предупреждениях см. в docs\manual.pdf в каталоге установки компилятора. Не забудьте воспользоваться англо-русским словарём. Может, надо было не picc.exe подключать? Universal Toolsuite всё делает за Вас, и уже достаточно давно делает это правильно. Если сомневаетесь, ответы в docs\quickstart.pdf и хелпах мплаба. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ruslan1 17 14 марта, 2011 Опубликовано 14 марта, 2011 · Жалоба Ruslan1, спасибо! МК - PIC16F628 В MPLAB IDE 8.46 компиляция не идет ни с Hi-Tech PIC C-compiler v9.60 std, ни с Hi Tech PICC v8.05pl2. (Оба активированы). Еще у меня есть MPLAB IDE v8.30, буду с ним пробовать. 1. как я понял, у вас уже все идет. поздравляю. :) 2. Если глючит на такой программе- то что-то с установкой компилятора не так. Насколько я помню, у Хайтека есть что-то бесплатное, но с ограничениями. на попробовать вполне хватит. 3. Я сам PIC16 давно не пользовал, PIC18 их покрыли как бык овцу, но нареканий не было, и PIC18 с Хайтеком отлично работает (только не PRO!). Но вот если Вы собираетесь на что-то более современное майкрочиповское переходить в перспективе- наверное лучше сразу Майкрочиповские компиляторы брать, Хайтек это тупик. Но вроде бы как раз для PIC16 и выбора нет, только hi-tech. 4. А чего МПЛАБ такой старый, вроде 8.56 уже есть. Если уж переставляете, то наверное новье не хуже старья будет :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться