Форум за електроника Форуми Форум за електроника
Български форум за електроника, ремонти, схеми, документация
 
 Въпроси/ОтговориВъпроси/Отговори   ТърсенеТърсене   ПотребителиПотребители   ГрупиГрупи   Регистрирайте сеРегистрирайте се 
 ПрофилПрофил   Влезте, за да видите съобщенията сиВлезте, за да видите съобщенията си   ВходВход 

въпрос

 
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics



Предишната тема :: Следващата тема  
Автор Съобщение
vlai4o
Нов потребител
Нов потребител


Регистриран на: 19 Юли 2008
Мнения: 2
Местожителство: Burgas

МнениеПуснато на: Съб Юли 19, 2008 15:35    Заглавие: въпрос Отговорете с цитат

Здравейте колеги. Занимавам се с програмиране на микроконтролери вмомента и се интересувам, има ли някой които се е занимавал с програмирането им на C. Също така ми е интересно каква е разликата в компилирания код на С и на асемблер. Ако има някои който се занимава ще ми е интересно да обменим опит. Целта ми е да започна да пиша на С обаче незнам струва ли си труда.

Exclamation Arrow Добре дошъл!
Запознай се с правилата на форума и си коригирай заглавието Exclamation
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Edesign
Опитен потребител
Опитен потребител


Регистриран на: 01 Сеп 2005
Мнения: 301

МнениеПуснато на: Съб Юли 19, 2008 15:45    Заглавие: Отговорете с цитат

Първо мисля че не е най-доброто място тук да питаш за контролери, по скоро www.mcu-bg.com.
От друга страна явно хич не си запознат с програмиране на контролери, затова ти препоръчвам да започнеш с едни хубави книжки на Млад Конструктор за микроконтролери.
Иначе въпроса ти звучи --> "ами каква е разликата между боб и боб с наденица? Досега съм ял само боб .... дали да си похапна и боб с наденица" Smile
Само едно ще ти кажа голям проект на асемблер не можеш да напишеш С е бъдещето и изобщо езици от по-високо ниво (паскал/ бейсик .....), а като научиш С можеш освен за контролери да пишеш и РС приложни програми
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Milen_haskovo
Опитен потребител
Опитен потребител


Регистриран на: 11 Фев 2005
Мнения: 1404
Местожителство: София/Хасково

МнениеПуснато на: Съб Юли 19, 2008 16:41    Заглавие: Отговорете с цитат

Какво не може да се направи на asm Very Happy Това че ти не можеш примерно, не значи че въобще не може. Асемблер е език, много близък до компютърното "мислене" и не всеки може да го усвои, докато С е по-близък до човешкото - съответно много по-лесен за разбиране. Истината и стабилната програма е в език на ниско ниво - да напишеш всичко по конкретното задание, не да ползваш готови кодове и набори от инструкции. Една програма на asm може да се направи далеч по-компакта, и в същото време не по-лоша от същана на С.
_________________
Както си работеше и спря...
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
yani kokas
Опитен потребител
Опитен потребител


Регистриран на: 14 Юни 2006
Мнения: 326
Местожителство: Дупница/София/

МнениеПуснато на: Съб Юли 19, 2008 16:48    Заглавие: Отговорете с цитат

Абе относно С или асемблер зависи какво ще програмираш.За малките пикове 12 и 16 серия според мен е по добре да се пише на асемблер,обаче ако тръгнеш да занимаваш с нещо от рода на контролер със ядро ARM7 или ARM9,май трябва да си голям мазохист да го бориш със асемблер.То за всеки влак си има пътници гледам че и доста хора пишат на basic за пикове,ама се съмнявам колко е ефективно.

Съжалявам за офтопика
_________________
Всеки щепсел контакта да си знае ,да се пази
да не се зарази и ако клемите зацапа,
некой друг да тока да изцака...
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Yahoo Messenger
Комбинатор
Опитен потребител
Опитен потребител


Регистриран на: 31 Окт 2007
Мнения: 310

МнениеПуснато на: Нед Юли 20, 2008 9:55    Заглавие: Отговорете с цитат

Ако започваш като начинаещ,
почваш с асемблер и MPLAB ако е за пик.
Предполагам че искаш някой малък PIC като за начало.
Асемблера е по добър за тях поради сегментираноста на адресното пространство.
За по големите контролери вече няма начин да не се ползва C или C++, те са с линейно адресно пространство и са пригодени за писане под език от по високо ниво.
Искам да кажа на подръжниците на асемблера, че асемблерен код от порядъка на 8-10 хиляди реда, не се пише лесно.
Последния ми проект е от 1987 реда С код, като сложиш 20 процента
празни редове.
А листинга на асемблера е 7923 реда.
Когато започнеш да ползваш всички възможни таймери и прекъсвания,
запазването на важните регистри и въстановяването им след излизането от прекъсването, не е никак лесна задача под асемблер.
А разликата между код писан на асемблер и под С е голяма.
Асемблерния код е по разбираем и лесно може да схванеш как е построена програмата, докато асемблер които е компилиран от компилатор от по високо ниво и е минал под оптимизатор,
без сорс кода не можеш да разбереш нищо.

Код:
С можеш освен за контролери да пишеш и РС приложни програми

Интересно ми е защото мога да пиша малки апликейшъни под C++(и то само под вижън среда)
Но да пиша на C дори не мога да си го представя.


Последната промяна е направена от Комбинатор на Нед Юли 20, 2008 10:06; мнението е било променяно общо 1 път
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
andrey1988
Опитен потребител
Опитен потребител


Регистриран на: 30 Дек 2005
Мнения: 1263
Местожителство: Ботевград

МнениеПуснато на: Нед Юли 20, 2008 13:40    Заглавие: Отговорете с цитат

Аз не съм се занимавал много сериозно с микроконтролери, но съм се пробвал да напиша някоя проста програма както на асемблер така и на паскал(защото ми е по-ясен) и двете прогами проработиха и вършеха едно и също, но ми направи впечатление че hex файла който се получава от кода на асемблер е значително по-малък отколкото този на паскал.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
Niakoi
Опитен потребител
Опитен потребител


Регистриран на: 20 Авг 2006
Мнения: 356
Местожителство: Каръктаун

МнениеПуснато на: Нед Юли 20, 2008 19:51    Заглавие: Отговорете с цитат

vlai4o, аз навремето бях пред същата дилема. Бях написал един доста голям порект с ПИК на асемблер. Пик18-та серия - 80 пина, LCD графичен дисплей 240х64, клавиатура с 16 бутона, 3 потенциометъра, 16 цифрови входа и толкова изхода, PWM, 2хUART - почти всички ресурси му ползвах. Доста се "потрудих", но всичко работеше без грешка. Писах го доста време - не помня точно колко, но поне 2 месеца
Проблема се появи, когато след около година трябваше да се направят някой корекции и нямаше много време за това. Вече бях забравил какво съм писал Smile Като си погледнах сорса и ми се изправи косата Sad Както и да е - оправих нещата, макар и не много бързо.
Това ме подтикна да науча С и да започна да пиша на него. Вече нищо не пиша на асемблер, но като го знам, мога да "изстискам" най-доброто от "желязото". Вярно е, че С-то е по лакомо на памет (флаш и рам), но пък се пише много по-бързо и с по-малко грешки.
Така че, препоръчвам ти да започнеш да пишеш на С, ако не го знаеш, да го научиш!

Успех!
_________________
Жица, на която не виждам двата края, не я пипам!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
Покажи мнения от преди:   
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics Часовете са според зоната GMT + 2 Часа
Страница 1 от 1

 
Към:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети


Powered by phpBB © 2001, 2005 phpBB Group
Translation by: Boby Dimitrov
Where to Find Free Service Manuals