Отговори на тема  [ 52 мнения ]  Отиди на страница 1, 2, 3, 4  Следваща
PIC16 vs PIC18 ? 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 26, 2005 12:36 am
Мнения: 353
Мнение PIC16 vs PIC18 ?
До сега съм работил само с 16-ки и нямам опит с тия чудовища ! Та реших та поекспериментирам с едно такова !
Някой работил ли е с тях и какви са им предимствата? Освен големият недостатък,че имат още около 40 нови инструкции за научаване!?
По същия начин ли се програмират ? И IC-prog ще се справи ли ?
Някакви специфични особености?

_________________
Сичкото що е транзистор за илядо и пестотин волта се е BU ...


Пон Апр 17, 2006 3:39 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Сря Дек 21, 2005 2:09 pm
Мнения: 145
Мнение 
PIC18 е осъвършенствания вариант на PIC16. Премахнато е банкирането на специалните регистри, стека е увеличен, редица хардуерни подобрения. Научи се да пишеш на Си, ще ти е полезно също и ако минеш на друга платформа в даден момент. ИЦ ПРОГ се справя обаче ако искаш да пишеш сложни неща си вземи нещо с дебъгер - ICD2 например, може да си го закупиш от Комет в оригинал или да ползваш самоделките на www.olimex.com, които някои казват били по-добри. Задавай конкретни въпроси все пак да не ме караш да пиша роман :)


Пон Апр 17, 2006 4:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Чудовища са PIC16 и PIC12. PIC18 вече заприличва на нормален контролер.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пон Апр 17, 2006 4:47 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Почвам отзад напред, можеш да ги програмираш с IC-prog.
Разликите са доста, първата е, инструкциите и архитектурата на PIC18 са направени да са максимално удобни за програмиране на C, това можеш да го забележиш като видиш колко и какви регистри има за непряко адресиране . Втората особеност - имаш контрол върху стека, освен това той ти е 32 нива, както и нещо ресет при препълване на стека. Третата голяма особеност е 16-битовия флаш, разликата я усетих веднага щом портнах код от 16F877 в 18F452, стринговете ми заемаха доста по-малко място в 18-ката отколкото в 16-ка. Други особени разлики са - вграден 8х8 хардуерен умножител, добавени са няколко инструкции удобни за математики (въртене без пренос, negate и пр.), копиране на регистри само с една инструкция (MOVFF - малко тъпо че пак се изпълнява за два цикъла :wink: ), условен преход (Branch <IF>) и др. Това са особеностите за които се сещам засега, питай :D


Пон Апр 17, 2006 4:53 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Окт 21, 2005 8:45 am
Мнения: 499
Мнение 
Добавени са и т.н. Lat регистри за всеки порт. Помагат да се избегне "рийд перформинг райт" операцията, като по този начин управлението на портовете става по-сигурно. За мен това беше доста важно. Като прибавим достатъчно повечето памет и съизмеримата цена, си се получава съвсем приличен контролер. Няма нужда да ги учиш тези допълнителни инструкции! Минавай на по-високо ниво. Бих препоръчал HI-TECH PICC-18. Майкрочипското С също не е лошо, но генерира малко повече и по-бавен при изпълнение код (това последното не го казвам от личен опит!).

_________________
Простотията е Божи дар, но човек не бива да парадира с подаръците си!


Вто Апр 18, 2006 8:15 am
Профил ICQ
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Окт 26, 2005 12:36 am
Мнения: 353
Мнение 
Това "рийд перформинг райт" прословутата операция четене-запис-модификация ли е?
Всички ли на там са се ориентирали - да пишат на С ?? Значи ли това,че трябва да забравям за Асемблера? Нещо ми е много трудно да вникна в логиката на езика !? Сега си работя с регистрите и нещата са ми почти на хардуерно ниво ! Тази висока степен на абстракция при Цъ-то ми е доста шантава !
Но пък щом 18-те са ориентирани към С програмиране,сигурно има някакъв умисъл! Но някъде четох,че това не е съвсем точно!
Този Майкрочипския Цъ фрий ли е ? И мога ли да си го дръпна с достатъчно примери и хелпове?? И още по-добре с еднакви кодове на двата езика!
Апропо някой може ли да постне пример за 18-ка на Цъ и Асемблер да се видят разликите ?? Колко повече набъбва обема нужна памет при Цъ-то ??

_________________
Сичкото що е транзистор за илядо и пестотин волта се е BU ...


Вто Апр 18, 2006 3:32 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение 
WDW:
Никой не те кара да не пишеш на Асемблер... където ти се стори необходимо - пиши...
МСС18 не е фри има демо на сайта(има и хапче)
За МСС18 ексампъли колкото щеш


Вто Апр 18, 2006 3:55 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
ами сега процесорите са с по 32-64 КБ памет, колко време ще ти е необходимо да напишеш толкова код на Хасемблер? и най-важното - кой после ще оправи бъговете? а пък ако не ти трябва толкова памет си гилай на 12-ка :wink:


Вто Апр 18, 2006 3:58 pm
Профил ICQ WWW
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Сря Апр 27, 2005 2:47 pm
Мнения: 349
Местоположение: Varna
Мнение 
Доста набъбва обема на кода, писан на C особено с микрочипския. Фрии е Student Edition версията, която след месец работа и се деактивират оптимизациите, но и другата се хаква лесно (писано е по темата), ако това не те притеснява.
Що се отнася до асемблера, аз за 18-ките пиша само на асемблер и според мен е много по-лесно от колкот при 16-ките, особено като опре до сметки. Просто няма място за сравнение между двете фамилии в това отношение, особено като се има в предвид и хардуения множител (освен за умножение много помага и за смятане на корени). Да не притеснява по-големия набор от инструкции, като им свикнеш ще се чудиш как си се мъчил до сега с 16-ките.


Вто Апр 18, 2006 4:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
WDW да не би да ти предстои пенсиониране. Нещо много сложно гледам ти се вижда да минеш от 16ка на 18ка :)
Старост нерадост ли,какво ли :)

Я си седни на задника,имаш да прочетеш 2 pdf-a.


Вто Апр 18, 2006 4:39 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Окт 21, 2005 8:45 am
Мнения: 499
Мнение 
@WDW, да за тази операция става въпрос, в дейташийта е описано много добре. Проблем (както, сигурен съм, знаеш!) се получава при 16-та и 12-та серия, когато се опитваш да изменяш състоянието на порта като оперираш директно логически с него като с обикновен регистър.
Не всички и определено не винаги, са се ориентирали към език от по-високо ниво. Аз останах с впечатлението, че ти ИСКАШ да преминеш на С. Това на 18-та серия е напълно възможно (писах ти за повечето ресурси). Но не е казано, че може само на С! Имам доста (особено критичните откъм време за изпълнение) модули, които си ги пиша на асемблер. Има си и неща, които на С не могат въобще да се напишат. Така че е въпрос на вкус (и не само), но за по-сложни задачи по-бързо става на език от високо ниво.
Както са казали колегите по-горе, Майкрочипския компилатор не е свободен, но пусни едно търсене за MCC18 във форума и ще разбереш, че това не е проблем. Все пак бих препоръчал ХайТекския компилатор (повтарям се) като генериращ по-малко код. Също не е фрии, също не е проблем.
В нета има купища от примери, драйвери и всякакви сорсове на С и за двата компилатора, а и на практика и двата са ANSI C компилатори, така че кода (с изключение на някои малки настройки) е абсолютно съвместим. Аз упорствам да пиша на ХайТекската развойна среда ХайТайд (защото така ми харесва! :) ) и постоянно ми се налага да си дублирам проектите в МПЛаб за да мога да ползвам ICD2. Това го правя с просто копи/пейст. Така че проблем със съвместимостта няма, което не може да се каже за CCS-кия компилатор например. При него удобството е, че разполага с много вградени функции за работа с пиковете, но това прави кода писан на него "непреносим". Въпреки това и той си има много фенове.
Освен тези три компилатора, напоследък се налага и MikroC на MikroElektronica. Много добър хелп, АNSI C компилатор, драйвери и готови библиотеки за почти всичко за което можеш да се сетиш. Но генерира доста код (все още, в новата версия ще видим). Пък и аз лично избягвам да използвам готови драйвери за каквото и да било. Но за запознаване с езика е добър.
Накрая за сравнението, което искаш да направиш между асемблерски и С код. Не може да се сравни! Едно защото генерирания асемблерски код от всеки С компилатор е различен, и второ - логиката на машинно генерирания асемблерски код е съвсем различна от това ако го пишеш директно на асемблер. Никой компилатор не може да го напише така, както ако си го пишеш директно на Асемблер. Така че, по-добре не прави такива сравнения - ще получиш погрешно впечатление. Но компилаторите много добре се справят например с масиви, стекове и въобще с управлението на по-големи обеми данни. Така че решението си е твое: Езика от високо ниво пести време, асемблера ти дава възможност да "си го пипнеш" както ти харесва.

_________________
Простотията е Божи дар, но човек не бива да парадира с подаръците си!


Вто Апр 18, 2006 5:03 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Сря Дек 21, 2005 2:09 pm
Мнения: 145
Мнение 
Ха- ха-ха баче Кольо казал си го много точно, таман щех да напиша и аз същото. Който си е мазохист да си продължава да си пише САМО на Асемблер и да ползва САМО PIC16 при условие че с 18ките са на една цена. Според мен темата не заслужава такова внимание. Всичко е написано. Съжалявам за сърказма ама WDW седни и си прочети нещата. Между другото дайте да разискваме по-сериознички теми, а не като в случая да си мерят пишките няколко човека кой по-вече знае за пиковете, стига с това празнословие.


Сря Апр 19, 2006 11:28 am
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Окт 21, 2005 8:45 am
Мнения: 499
Мнение 
@backson, би ли дефинирал "по-сериознички теми"?
Мога да ти предложа една по-сериозничка : "Правопис на българския език" .
Между другото в твоя пост с шест дълги изречения си казал точно "Съгласен съм с Баче Кольо". Лампичките ли ще палим, а?

_________________
Простотията е Божи дар, но човек не бива да парадира с подаръците си!


Сря Апр 19, 2006 11:36 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
Точно така, backson, само малка грешка си допуснал.......... PIC24... :!:


Сря Апр 19, 2006 11:39 am
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 10, 2006 2:40 pm
Мнения: 2258
Мнение 
WDW написа:
Значи ли това,че трябва да забравям за Асемблера? Нещо ми е много трудно да вникна в логиката на езика !? Сега си работя с регистрите и нещата са ми почти на хардуерно ниво ! Тази висока степен на абстракция при Цъ-то ми е доста шантава !


всички сме минали през Асемблера но вече пораснахме
спомням си един проект далеч назад във времето когато и аз ни виждах предимствата да се пише на С - програмата взе да расте заедно с новите приумици на клиента и по едно време той реши че един брояч не трябва да брои до 255 ами до 300, познай на колко места в кода трябваше да променя за да стане това, в гадното С става като смениш една дума в кода
напиши ми на асемблер a = b * 3.1459; и да видим кой ще извади по-добър код - ти или компилатора
спорът С или Асемблер е абсолютно безмислен и двата езика си имат предимства и недостатъци
всеки си е решил за себе си със времето какво да ползва, лично аз съм доста разсеян и ми отнема повече време да дебъгвам код на Асемблер отколкото на С а и в С винаге може да си напишеш някои части от кода които са критични към времето на Асемблер

лично за мен най-добрия вариант е човек да е започнал с Асемблер и да е завършил на С - така ще има достатъчно знания на ниско ниво, но ще има много по-голяма производителност като пише на високо ниво а не дебъгва грешки от забравени банки, адресации и прочее глупави грешки от които човек не е застрахован когато пише на ниско ниво


Сря Апр 19, 2006 11:58 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 52 мнения ]  Отиди на страница 1, 2, 3, 4  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни