реклама на сайте
подробности

 
 
> Выбор пути ... Assembler или C ?
Kalina
сообщение Mar 3 2008, 19:02
Сообщение #1


Частый гость
**

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



Всем добрый день!

Недавно начал осваивать микроконтроллеры фирмы ATMEL. Первое с чем имел дело - AT90S2313, теперь перешёл на ATmega. Проэкты в основном небольшие (думаю это времено), пользуюсь AVR Studio. Язык, который использую - assembler. Часто посещаю форум, и особо часто попадаю на программы написанные на С.
Так вот, хочу задать вопрос всем, кто чувствует себя уже уверенными пользователями обоих языков, вы не могли бы обьяснить начинающему:

1. почему люди переходят с assemblera на C?
2. какие плюсы и минусы языка С?
3. где без языка С нельзя обойтись?
4. лично ваше мнение относительно обоих? (ненормативная лексика принимается:-)

Всем, кто отзовется, заранее благодарен!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DimaD
сообщение Mar 6 2008, 06:28
Сообщение #2





Группа: Новичок
Сообщений: 10
Регистрация: 5-03-08
Пользователь №: 35 645



Цитата(Kalina @ Mar 5 2008, 19:05) *
С одной стороны на С возможно писать было бы быстрее, легче( если бы я её знал smile.gif ) но я почему-то ИМХО я бы не добился той точности и быстродействия, что требовалась.


Вот именно, легче и быстрее, если владеть асмом и Си одинаково. А вот по поводу точности --- готов поспорить.
Вам ведь известно, что такое токоизмерительные клещи!!! Так вот, точность измерения тока 2%. Диапазон - 600А. При этом они сами калибруются (без всяких там подстроечников), и тоже обрабатывают кучу информации, TRMS, есть ЖКИ. Код на Си занимает 12 КБ!!!!!! Время от начала разработки до полного завершения прибора -- 3мес. Так на асме быстрее будет?
Просто я вот к чему веду. При переходе к созданию все более и более серьезных проектов, переход с асма на Си просто необходим.
Go to the top of the page
 
+Quote Post
Kalina
сообщение Mar 6 2008, 08:22
Сообщение #3


Частый гость
**

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



Цитата(DimaD @ Mar 6 2008, 09:28) *
по поводу точности --- готов поспорить.


Я бы поспорил, но не на что biggrin.gif !!!! Давай лучше обсудим: под точностью измерения скорости я подразумевал точность измерения временного интервала (измеряю же частоту). Так вот, мне необходимо измерять и выводить на ЖКИ скорость с точностью 0,1 км/ч. На скорости 220 км/ч (что соответствует частоте сигнала 421,5 Гц), изменение периода сигнала приблизительно на 1,2 мкс вызывает изменение скорости на 0,1 км/ч.

Но самое трудное организовать измерение с такой точностью в real-time параллельно с такими процессами:
1. Дижением стрелки прибора, используя шаговый двигатель в режиме микрошаге.
2. Организовать вывод на ЖКИ
3. Вести учёт аварийных ситуаций.
4. Вести учёт пройденого расстояния.

Задаю вопрос всем, кто работал с подобными вещами, возможно ли это реализовать на С?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 6 2008, 09:21
Сообщение #4


Гуру
******

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



Цитата(Kalina @ Mar 6 2008, 11:22) *
Но самое трудное организовать измерение с такой точностью в real-time параллельно с такими процессами

У как все запущено sad.gif. Используется аппаратный таймер который за время интегрирования в десятки - сотни миллисекунд считает имульсы. Количество последовательных интервалов интегрирования можно менять в заисимости от скорости для достижения нужной точности. Все оставшееся время можно играть вальсы Шопена.... В чем проблема? В обработке прерываний частотой не более, чем 421,5 Hz?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kalina
сообщение Mar 6 2008, 10:05
Сообщение #5


Частый гость
**

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



Цитата(zltigo @ Mar 6 2008, 12:21) *
У как все запущено sad.gif. Используется аппаратный таймер который за время интегрирования в десятки - сотни миллисекунд считает имульсы. Количество последовательных интервалов интегрирования можно менять в заисимости от скорости для достижения нужной точности. Все оставшееся время можно играть вальсы Шопена....


Насколько мне позволяют понимать мои знания, вы привели пример электроно-счётного частотомера(последовательный метод)?
Диапазон скоростей, которые я измеряю, находится в интервале 3-220 км/ч. Для определения отсутствия сигнала V<3 км/ч(нулевая скорость), мне необходимо поставить ограничения на максимальный период входного сигнала 0.17 с. (прямоуголные импульсы с датчика скорости) Это означает меньше 5 импульсов в секунду, при необходимости обновлять ЖКИ минимум 2-3 раза в секунду(данные для стрелки обновлять ещё чаще), теперь вопрос а возможно ли будет таким методом отличить скорости 3 (Период следования импульсов = 0.177 с.) и 3,1 км/ч (Период следования импульсов = 0.172 с.), это как импульсы прийдётся считать?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 6 2008, 10:25
Сообщение #6


Гуру
******

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



Цитата(Kalina @ Mar 6 2008, 13:05) *
Насколько мне позволяют понимать мои знания, вы привели пример электроно-счётного частотомера(последовательный метод)?

Нет. Измерение длительности периода c возможными разборками c переполнения таймера/не срабатывания таймера на низких скоростях (когда времени много) и максимальными требованиями считывания-накопления значений таймера не чаще чем за две с лишним миллисекунды на скорости 220.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
mart-13
сообщение Mar 6 2008, 10:53
Сообщение #7


Участник
*

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



Цитата(zltigo @ Mar 6 2008, 13:25) *
Нет. Измерение длительности периода c возможными разборками c переполнения таймера/не срабатывания таймера на низких скоростях (когда времени много) и максимальными требованиями считывания-накопления значений таймера не чаще чем за две с лишним миллисекунды на скорости 220.

Вообще-то в этой теме обсуждается вопрос о применимости в тех или иных задачах Ассемблера или Си. Насколько я понял Калина уже разобрался с методами и алгоритмами измерений промежутков времени. Скорее всего его интересует возможность реализации оных на Си и сравнение с Ассемблером... И вообще я что-то не понял о чем вы толкуете, уважаемый zltigo: то вы считаете импульсы, то уже измеряете период... 07.gif Не могли бы Вы выразиться более точно, или логически связано... Тут же не все разбираются с особенностями разных жаргонов...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 6 2008, 14:41
Сообщение #8


Гуру
******

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



Цитата(mart-13 @ Mar 6 2008, 13:53) *
Калина уже разобрался с методами и алгоритмами измерений промежутков времени.

С алгоритмами-то разбираться не сложно - все уже придумано до нас. А вот с реализацией, похоже, нешуточные проблемы.
Цитата
вообще я что-то не понял о чем вы толкуете, уважаемый zltigo: то вы считаете импульсы, то уже измеряете период...

Количество импульсов таймера за период повторения входных импульсов. Даже для высоких скоростей разрешающей способности таймера хватит выше головы. Для низких скоростей надо учитывать возможное переполнение таймера. Вся напряженная работа сводится, как уже писал, сводится к считыванию и накоплению значения таймера не чаще, чем раз в две миллисекунды и разборками с накопленными значениями раз в несколько сот миллисекунд - период интеграции.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01536 секунд с 7
ELECTRONIX ©2004-2016