|
Выбор пути ... Assembler или C ? |
|
|
|
Mar 3 2008, 19:02
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 19-12-07
Из: Житоимр
Пользователь №: 33 457

|
Всем добрый день! Недавно начал осваивать микроконтроллеры фирмы ATMEL. Первое с чем имел дело - AT90S2313, теперь перешёл на ATmega. Проэкты в основном небольшие (думаю это времено), пользуюсь AVR Studio. Язык, который использую - assembler. Часто посещаю форум, и особо часто попадаю на программы написанные на С. Так вот, хочу задать вопрос всем, кто чувствует себя уже уверенными пользователями обоих языков, вы не могли бы обьяснить начинающему:
1. почему люди переходят с assemblera на C? 2. какие плюсы и минусы языка С? 3. где без языка С нельзя обойтись? 4. лично ваше мнение относительно обоих? (ненормативная лексика принимается:-) Всем, кто отзовется, заранее благодарен!
|
|
|
|
|
 |
Ответов
|
Mar 6 2008, 06:28
|
Группа: Новичок
Сообщений: 10
Регистрация: 5-03-08
Пользователь №: 35 645

|
Цитата(Kalina @ Mar 5 2008, 19:05)  С одной стороны на С возможно писать было бы быстрее, легче( если бы я её знал  ) но я почему-то ИМХО я бы не добился той точности и быстродействия, что требовалась. Вот именно, легче и быстрее, если владеть асмом и Си одинаково. А вот по поводу точности --- готов поспорить. Вам ведь известно, что такое токоизмерительные клещи!!! Так вот, точность измерения тока 2%. Диапазон - 600А. При этом они сами калибруются (без всяких там подстроечников), и тоже обрабатывают кучу информации, TRMS, есть ЖКИ. Код на Си занимает 12 КБ!!!!!! Время от начала разработки до полного завершения прибора -- 3мес. Так на асме быстрее будет? Просто я вот к чему веду. При переходе к созданию все более и более серьезных проектов, переход с асма на Си просто необходим.
|
|
|
|
|
Mar 6 2008, 08:22
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 19-12-07
Из: Житоимр
Пользователь №: 33 457

|
Цитата(DimaD @ Mar 6 2008, 09:28)  по поводу точности --- готов поспорить. Я бы поспорил, но не на что  !!!! Давай лучше обсудим: под точностью измерения скорости я подразумевал точность измерения временного интервала (измеряю же частоту). Так вот, мне необходимо измерять и выводить на ЖКИ скорость с точностью 0,1 км/ч. На скорости 220 км/ч (что соответствует частоте сигнала 421,5 Гц), изменение периода сигнала приблизительно на 1,2 мкс вызывает изменение скорости на 0,1 км/ч. Но самое трудное организовать измерение с такой точностью в real-time параллельно с такими процессами: 1. Дижением стрелки прибора, используя шаговый двигатель в режиме микрошаге. 2. Организовать вывод на ЖКИ 3. Вести учёт аварийных ситуаций. 4. Вести учёт пройденого расстояния. Задаю вопрос всем, кто работал с подобными вещами, возможно ли это реализовать на С?
|
|
|
|
|
Mar 6 2008, 10:05
|

Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 19-12-07
Из: Житоимр
Пользователь №: 33 457

|
Цитата(zltigo @ Mar 6 2008, 12:21)  У как все запущено  . Используется аппаратный таймер который за время интегрирования в десятки - сотни миллисекунд считает имульсы. Количество последовательных интервалов интегрирования можно менять в заисимости от скорости для достижения нужной точности. Все оставшееся время можно играть вальсы Шопена.... Насколько мне позволяют понимать мои знания, вы привели пример электроно-счётного частотомера(последовательный метод)? Диапазон скоростей, которые я измеряю, находится в интервале 3-220 км/ч. Для определения отсутствия сигнала V<3 км/ч(нулевая скорость), мне необходимо поставить ограничения на максимальный период входного сигнала 0.17 с. (прямоуголные импульсы с датчика скорости) Это означает меньше 5 импульсов в секунду, при необходимости обновлять ЖКИ минимум 2-3 раза в секунду(данные для стрелки обновлять ещё чаще), теперь вопрос а возможно ли будет таким методом отличить скорости 3 (Период следования импульсов = 0.177 с.) и 3,1 км/ч (Период следования импульсов = 0.172 с.), это как импульсы прийдётся считать?
|
|
|
|
|
Mar 6 2008, 10:53
|

Участник

Группа: Участник
Сообщений: 17
Регистрация: 12-12-07
Из: Украина
Пользователь №: 33 226

|
Цитата(zltigo @ Mar 6 2008, 13:25)  Нет. Измерение длительности периода c возможными разборками c переполнения таймера/не срабатывания таймера на низких скоростях (когда времени много) и максимальными требованиями считывания-накопления значений таймера не чаще чем за две с лишним миллисекунды на скорости 220. Вообще-то в этой теме обсуждается вопрос о применимости в тех или иных задачах Ассемблера или Си. Насколько я понял Калина уже разобрался с методами и алгоритмами измерений промежутков времени. Скорее всего его интересует возможность реализации оных на Си и сравнение с Ассемблером... И вообще я что-то не понял о чем вы толкуете, уважаемый zltigo: то вы считаете импульсы, то уже измеряете период...  Не могли бы Вы выразиться более точно, или логически связано... Тут же не все разбираются с особенностями разных жаргонов...
|
|
|
|
|
Mar 6 2008, 14:41
|

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

|
Цитата(mart-13 @ Mar 6 2008, 13:53)  Калина уже разобрался с методами и алгоритмами измерений промежутков времени. С алгоритмами-то разбираться не сложно - все уже придумано до нас. А вот с реализацией, похоже, нешуточные проблемы. Цитата вообще я что-то не понял о чем вы толкуете, уважаемый zltigo: то вы считаете импульсы, то уже измеряете период... Количество импульсов таймера за период повторения входных импульсов. Даже для высоких скоростей разрешающей способности таймера хватит выше головы. Для низких скоростей надо учитывать возможное переполнение таймера. Вся напряженная работа сводится, как уже писал, сводится к считыванию и накоплению значения таймера не чаще, чем раз в две миллисекунды и разборками с накопленными значениями раз в несколько сот миллисекунд - период интеграции.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Kalina Выбор пути ... Assembler или C ? Mar 3 2008, 19:02 zltigo Цитата(Kalina @ Mar 3 2008, 22:02)
Для н... Mar 3 2008, 19:15 Vladimir_J Добрейшее время суток!!!
В свое время ... Mar 3 2008, 19:37 SasaVitebsk Вот чисто практические данные.
http://electronix.r... Mar 3 2008, 19:41 Omen_13 Очередная религиозная война назревает?
На асм... Mar 3 2008, 21:03 zltigo Цитата(Omen_13 @ Mar 4 2008, 00:03) Очере... Mar 3 2008, 21:05 Omen_13 zltigo, см. выше!
Добавлю еще:
Асм как язык ... Mar 3 2008, 21:29 Дон Амброзио Цитата(Omen_13 @ Mar 4 2008, 00:29) наско... Mar 3 2008, 22:45 Дон Амброзио ИМХО, ассемблер - это база, которую ДОСКОНАЛЬНО до... Mar 3 2008, 22:31 rv3dll(lex) Си так и не смог выучить - не дано наверное
но... Mar 4 2008, 06:42 ReAl Цитата(rv3dll(lex) @ Mar 4 2008, 08... Mar 4 2008, 07:10  rv3dll(lex) Цитата(ReAl @ Mar 4 2008, 10:10) Ну, это ... Mar 4 2008, 08:54   ReAl Цитата(rv3dll(lex) @ Mar 4 2008, 10... Mar 5 2008, 08:05 608 Цитата(Kalina @ Mar 3 2008, 23:02) Всем, ... Mar 4 2008, 07:01 Baser У вас в корне неправильное понимание вопроса: ... Mar 4 2008, 07:13 Dog Pawlowa Цитата(Baser @ Mar 4 2008, 11:13) Вот и в... Mar 4 2008, 07:27 tntsasha Сначала писала на асме. После того как пробывал на... Mar 4 2008, 09:50 researcher По теме:
http://ru.wikipedia.org/wiki/Си_(язык_про... Mar 4 2008, 12:00  zltigo Цитата(researcher @ Mar 4 2008, 15:00) Ту... Mar 4 2008, 16:34 Carbon 1. Си очень сильно экономит время разработки, экон... Mar 4 2008, 15:10 rv3dll(lex) тойота - управляй мечтой
жигули не ссы доедем))))... Mar 4 2008, 16:43 Сергей Борщ Цитата(rv3dll(lex) @ Mar 4 2008, 18... Mar 4 2008, 17:09 Kalina Да, вы меня убедили, что всё-таки С изучать прийдё... Mar 4 2008, 17:27 singlskv Цитата(Kalina @ Mar 4 2008, 20:27) как вы... Mar 4 2008, 19:22 Omen_13 8 битники останутся, только их ниша может сократит... Mar 4 2008, 17:49 vshemm У Си есть еще один большой плюс - портируемость . ... Mar 4 2008, 17:57 DimaD Kalina привет!!! Надо знать и Си, и ас... Mar 5 2008, 07:26 Kalina Цитата(DimaD @ Mar 5 2008, 10:26) Проще т... Mar 5 2008, 08:10  Сергей Борщ Цитата(Kalina @ Mar 5 2008, 10:10) Это оз... Mar 5 2008, 10:19   Kalina Цитата(Сергей Борщ @ Mar 5 2008, 13:19) о... Mar 5 2008, 11:00    Сергей Борщ Цитата(Kalina @ Mar 5 2008, 13:00) Значит... Mar 5 2008, 12:05     zltigo Цитата(Сергей Борщ @ Mar 5 2008, 15:05) ... Mar 5 2008, 12:32      upc2 Цитата(zltigo @ Mar 5 2008, 15:32) Перефр... Mar 5 2008, 12:47 DimaD Приведу пример на тех двух программистах, которые ... Mar 5 2008, 08:34 upc2 Цитата(Kalina @ Mar 3 2008, 22:02) Всем д... Mar 5 2008, 10:46 DimaD Kalin@ смелее переходите на Си. Я уже мигаю светод... Mar 5 2008, 11:24 Kalina Цитата(DimaD @ Mar 5 2008, 14:24) Я уже м... Mar 5 2008, 15:14  Сергей Борщ Цитата(Kalina @ Mar 5 2008, 17:14) Но сам... Mar 5 2008, 15:59   Kalina Цитата(Сергей Борщ @ Mar 5 2008, 18:59) Я... Mar 5 2008, 17:05    singlskv Цитата(Kalina @ Mar 5 2008, 20:05) Проэкт... Mar 5 2008, 18:39     Kalina Цитата(singlskv @ Mar 5 2008, 21:39) Наве... Mar 5 2008, 19:06      singlskv Цитата(Kalina @ Mar 5 2008, 22:06) Сейчас... Mar 5 2008, 19:27  zltigo Цитата(Kalina @ Mar 5 2008, 18:14) Но сам... Mar 5 2008, 17:25 mart-13 Цитата(DimaD @ Mar 6 2008, 09:28) Вот име... Mar 6 2008, 07:50 DimaD Давайте обсудим эту тему и многое другое за ... Mar 6 2008, 08:38 Kalina Цитата(DimaD @ Mar 6 2008, 11:38) Давайте... Mar 6 2008, 08:53 rv3dll(lex) БЛИН если на то пошло всю память 51 контроллера мо... Mar 6 2008, 09:06 Carbon Можно измерять период подсчитывая импульсы аппарат... Mar 6 2008, 12:02 Сергей Борщ Цитата(Carbon @ Mar 6 2008, 14:02) Таким ... Mar 6 2008, 13:05  Carbon Цитата(Сергей Борщ @ Mar 6 2008, 16:05) Е... Mar 6 2008, 14:36 rv3dll(lex) усложню задачу - без использования таймера сложени... Mar 6 2008, 13:23 rv3dll(lex) из своего процессорного опыта - это было по необхо... Mar 6 2008, 17:57 Сергей Борщ Цитата(rv3dll(lex) @ Mar 6 2008, 19... Mar 6 2008, 18:49  rv3dll(lex) Цитата(Сергей Борщ @ Mar 6 2008, 21:35) В... Mar 6 2008, 19:03  Прохожий Цитата(Сергей Борщ @ Mar 6 2008, 21:49) Е... Mar 6 2008, 19:14   Demeny Цитата(Прохожий @ Mar 6 2008, 22:14) К ст... Mar 7 2008, 07:30   mdmitry Цитата(Прохожий @ Mar 6 2008, 22:14) Кодi... Mar 7 2008, 09:04   andron86 Цитата(Прохожий @ Mar 6 2008, 20:14) К ст... Mar 7 2008, 09:16    Прохожий Цитата(andron86 @ Mar 7 2008, 12:16) я бы... Mar 7 2008, 19:51  Kalina Цитата(Сергей Борщ @ Mar 6 2008, 21:49) в... Mar 6 2008, 20:31   Прохожий Цитата(Kalina @ Mar 6 2008, 23:31) Если н... Mar 6 2008, 21:19 Kalina Уважаемые форумчане, большое спаисбо за тот опы... Mar 6 2008, 18:00 Прохожий Цитата(Kalina @ Mar 6 2008, 21:00) Уважае... Mar 6 2008, 18:31 Pyku_He_oTTyda ЦитатаПрохожий
Спасибо! Хороший магазин с демо... Mar 7 2008, 05:14 Algol По поводу эффективного программирования на Си и дл... Mar 7 2008, 07:51 Demeny Цитата(Algol @ Mar 7 2008, 10:51) По пово... Mar 7 2008, 08:17  zltigo Цитата(Demeny @ Mar 7 2008, 11:17) Я плак... Mar 7 2008, 12:18
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|