[an error occurred while processing this directive] [an error occurred while processing this directive]
А что делает Ваша программа? (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Беня 24 октября 2001 г. 19:55
В ответ на: Вопрос PICоманам ;-) (+) отправлено SSV 24 октября 2001 г. 19:04

Если она "вовсю" использует арифметику с плавающей точкой (тип float), вычисляет различные функции (типа sin(), exp() и т д), то конечно же С Вам необходим.
Еще C хорош тем, что он умеет использовать локальные переменные в функциях (на ассемблере нужно самому смотреть, можно ли при вызове данной функции использовать данный байт ОЗУ для вычислений).
Еще один фактор - нужно ли переносить программы на другой процессор. Если нужно, то лучше использовать C.
Ну а если у Вас есть наработки на ассемблере, и перечисленное выше Вас не волнует, то смысла на C переходить я и не вижу.
Кстати, большую роль играет выбор C-компилятора. На MPLABC переходить ни в коем случае не стОит - в нем нет ни локальных переменных, ни арифметики с плавающей точкой, а глюков - в изобилии. Имеет смысл использовать HI-TECH V7.87 PL2 - в нем вроде бы ошибок не обнаружено (никто в этой конференции на него не жаловался) и он имеет хорошую оптимизацию - я не думаю, что по размеру кода он сильно уступает ассемблеру. Мне как-то доводилось самому реализовывать арифметику с плавающей точкой, и она вышла более громоздкой, чем та, которая реализована в HI-TECH. Кроме того, этот компилятор поддерживает ассемблерные вставки - можно в текст вставлять куски кода на ассемблере.
Я лично использую С, но я работаю одновременно с PIC, AVR и с 51-ми, причем приходится переносить программу с одного типа процессоров на другой. Ну а если Вам этого не надо, то лучше продолжать использовать ассемблер (от добра добра не ищут).
Хотя есть еще и личные факторы - допустим, если Вы захотите сменить фирму, в которой работаете, то со знанием C легче найти другую работу и легче "перейти" на другой процессор если это понадобится (начинать писАть проект на C, а попутно изучать новый ассемблер, используя сгенерированный C-компилятором ассемблерный листинг).

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru