05.07.2013, 13:02
|
|
Прописка
Регистрация: 24.02.2007
Адрес: Вольногорск, Украина
Сообщений: 59
Сказал спасибо: 0
Сказали Спасибо 33 раз(а) в 18 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Добавлю свои копейки. Без опыта на ассемблере очень трудно разгребать грабли
на Си, какой бы компилятор не был.
|
|
|
|
05.07.2013, 13:07
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от SasaVitebsk
|
Да нет у меня никакой ностальгии по AVR. Применил STM8 в двух проектах - плююсь. Больше не буду. Проще применить stm32f100, в малых корпусах. По стоимости дешевле выходит.
|
А ведь предупреждали!
STM8 хороши для совсем простых, мелких и дешёвых проектов, типа, "проект одного вечера".
|
|
|
|
05.07.2013, 13:16
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от t_ruslan_w
|
Без опыта на ассемблере очень трудно разгребать грабли
на Си, какой бы компилятор не был.
|
Грабли на Си - от незнанния языка и незнания архитектуры, но никак не от знания/незнания ассемблера.
|
|
|
|
05.07.2013, 13:36
|
|
Прописка
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от t_ruslan_w
|
Добавлю свои копейки. Без опыта на ассемблере очень трудно разгребать грабли
на Си, какой бы компилятор не был.
|
Согласен
ИМХО, пока десяток программ на асме для конкретного проца не напишешь и отладишь, смысла Си изучать нет, всё равно не поймешь, как программа работает. Будет выученный набор заклинаний, который ещё и от конкретного компилятора зависит. Чуть менее очевидная проблема - особенно, если зависит от настроек компилятора - будут часы, даже дни мозгового штурма.
Писать на асме - более трудоёмко, спору нет,хочешь структурировать программу - сам об этом и заботишься, корректно условные операторы организовывать - сам следишь за этим, циклы сам организуешь,за дальними переходы сам следишь, арифметику на переполнение сам проверяешь, но без этого понять, что творит компилятор Си невозможно.
очень простой пример для начинающих из Си
Код:
|
int a;
unsigned int b = 30;
.......
.......
a = (b - 62)/8;
// в этом месте переменная а будет равна совсем не -4, как можно было бы ожидать
a = (b - 62);
a /= 8;
// здесь а будет -4
a = (int)((b - 62))/8;
// тут тоже
a = (int)((b - 62)/8);
// а здесь - нет |
но пока в дизасме не пройдёшь - споткнёшься не раз
|
|
|
|
05.07.2013, 14:00
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от ilyamp
|
очень простой пример для начинающих из Си
|
Приведенные вами грабли легко обходятся и без знания асма
Всего то изучить типы данных и приведение этих типов.
На что всегда новички забивают болт.
Но я то как раз не против асм, просто ваш пример не особо показателен...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 05.07.2013 в 14:07.
|
|
|
|
05.07.2013, 14:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от ilyamp
|
но без этого понять, что творит компилятор Си невозможно.
|
Если учебник не читать, то невозможно, а так - смотрим "автоматическое приведение типов" и всё становится на свои места без асма.
__________________
There's always more than one way to skin a cat.
|
|
|
|
05.07.2013, 14:17
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,045
Сказал спасибо: 2,559
Сказали Спасибо 11,885 раз(а) в 5,960 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Все неприятности от невнимательности и похренизма, а все болезни - от недопития.
Если данные разных типов ТОЛЬКО явное преобразование, тогда без граблей.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
05.07.2013, 15:09
|
|
Прописка
Регистрация: 11.07.2008
Сообщений: 237
Сказал спасибо: 1,503
Сказали Спасибо 63 раз(а) в 44 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от nahimovv
|
Если ваш проект на МикроСи легко переносится на другой компилятор или другую платформу, то ради бога. Если же нет - делайте выводы сами, каким "инструментом" и как вы пользуетесь.
|
мне не надо переносить проекты с платформы на платформу. для моих задач хватает того чем я пользуюсь.
Сообщение от nahimovv
|
Ваша "истина" ещё хуже, вы с кровавой пеной у рта, с последней гранатой в окопе, будете её изрыгать, сидя на одной платформе и одном из псевдо-полу-недо-Си, и доказывать, что вас унижают, обижают, ругают, обманывают и только вы являетесь последним оплотом неизвестно чего.
|
вы удивляете меня своими выводами. я никому ничего не доказываю не говорю что меня обижают обманывают и далее по списку (это ваши фантазии), я сказал что мне нравится mikroC. А некоторые товарищи не могут принять мысли о том, что есть люди которые не поклоняются божеству "IAR".
большая просьба к вам и ваши единомышленникам не навязывать мне вашу точку зрения. Когда мне перестанет хватать mikroC тогда я первым вариантом рассмотрю IAR, как замену. А пока, в этом нет необходимости.
|
|
|
|
05.07.2013, 15:15
|
|
Прописка
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от dosikus
|
Но я то как раз не против асм, просто ваш пример не особо показателен...
|
Да, пример в том виде как приведён не очень показателен, всё без асма выясняется.
Но если в программе, скажем, сотня переменных в т.ч. структур, десяток массивов, то уже сам не всегда помнишь их типы, когда исправляешь очередную функцию.
Кроме того, если, например, переменная получает значение из АЦП, то реальный её тип зависит от настроек АЦП и может не совпасть с объявленным(если вовремя не исправил).
Я это всё к тому, что в асме, поскольку обработка переменных мелкоструктурная, даже яснее понимаешь, зачем нужна типизация переменных в Си.
Я думаю, что Си по сравнению с асмом для микроконтроллеров даёт только лучшее понимание кода. (или более быстрое вспоминание, когда потом сам на него смотришь, особенно года через два - три)
Перенос на другой контроллер, даже похожий, всё равно требует изменения обработки периферии, хотя бы по названию управляющих регистров, тут Си не поможет.
Мне кажется, что для решения задач, обычно возлагаемых на контроллеры, гораздо важнее знать радиоэлектронику, иногда теорию обработки сигналов, иногда просто элементарную физику. Еще нужно придумать алгоритм решения задачи, а на чём писать - на Си, на асме или на VHDL, почти всё равно. Правда, если из камня нужно выжать процентов 50-70 ресурсов, я лично предпочитаю асм ))
|
|
|
|
05.07.2013, 15:48
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от Uz_Sleep_Walker
|
мне не надо переносить проекты с платформы на платформу. для моих задач хватает того чем я пользуюсь.
|
Это аргумент правильности МикроСи?
Цитата:
|
вы удивляете меня своими выводами. я никому ничего не доказываю не говорю что меня обижают обманывают и далее по списку (это ваши фантазии), я сказал что мне нравится mikroC. А некоторые товарищи не могут принять мысли о том, что есть люди которые не поклоняются божеству "IAR".
|
Прчём здесь ИАР? Я им почти не пользуюсь, разве что, только с STM8.
Так что, о чём вы там говорите, вообще непонятно.
Или... кругом враги?
А я предупреждал:
Цитата:
|
вы с кровавой пеной у рта, с последней гранатой в окопе, будете её изрыгать, сидя на одной платформе и одном из псевдо-полу-недо-Си
|
Цитата:
|
большая просьба к вам и ваши единомышленникам не навязывать мне вашу точку зрения.
|
Боитесь, стесняетесь, чувствуете слабость? Или не можете принять истину, которая не вписывается в ваш кругозор и противоречит вашим знаниям?
Цитата:
|
Когда мне перестанет хватать mikroC тогда я первым вариантом рассмотрю IAR, как замену. А пока, в этом нет необходимости.
|
Валерьянкой сразу запаситесь.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:52.
|
|