Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Оптимальный старт в программировании МК на С

Непрочитано 05.07.2013, 13:02  
t_ruslan_w
Прописка
 
Регистрация: 24.02.2007
Адрес: Вольногорск, Украина
Сообщений: 59
Сказал спасибо: 0
Сказали Спасибо 33 раз(а) в 18 сообщении(ях)
t_ruslan_w на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Добавлю свои копейки. Без опыта на ассемблере очень трудно разгребать грабли
на Си, какой бы компилятор не был.
Реклама:
t_ruslan_w вне форума  
Непрочитано 05.07.2013, 13:07  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,427
Сказал спасибо: 0
Сказали Спасибо 381 раз(а) в 251 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от SasaVitebsk Посмотреть сообщение
Да нет у меня никакой ностальгии по AVR. Применил STM8 в двух проектах - плююсь. Больше не буду. Проще применить stm32f100, в малых корпусах. По стоимости дешевле выходит.
А ведь предупреждали!
STM8 хороши для совсем простых, мелких и дешёвых проектов, типа, "проект одного вечера".
nahimovv вне форума  
Непрочитано 05.07.2013, 13:16  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,427
Сказал спасибо: 0
Сказали Спасибо 381 раз(а) в 251 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от t_ruslan_w Посмотреть сообщение
Без опыта на ассемблере очень трудно разгребать грабли
на Си, какой бы компилятор не был.
Грабли на Си - от незнанния языка и незнания архитектуры, но никак не от знания/незнания ассемблера.
nahimovv вне форума  
Непрочитано 05.07.2013, 13:36  
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию 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);
//   а здесь - нет
но пока в дизасме не пройдёшь - споткнёшься не раз
ilyamp вне форума  
Непрочитано 05.07.2013, 14:00  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от ilyamp Посмотреть сообщение
очень простой пример для начинающих из Си
Приведенные вами грабли легко обходятся и без знания асма
Всего то изучить типы данных и приведение этих типов.
На что всегда новички забивают болт.
Но я то как раз не против асм, просто ваш пример не особо показателен...
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 05.07.2013 в 14:07.
dosikus вне форума  
Непрочитано 05.07.2013, 14:11  
tempora
Почётный гражданин KAZUS.RUN
 
Регистрация: 10.01.2007
Сообщений: 3,411
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от ilyamp Посмотреть сообщение
но без этого понять, что творит компилятор Си невозможно.
Если учебник не читать, то невозможно, а так - смотрим "автоматическое приведение типов" и всё становится на свои места без асма.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 05.07.2013, 14:17  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Все неприятности от невнимательности и похренизма, а все болезни - от недопития.
Если данные разных типов ТОЛЬКО явное преобразование, тогда без граблей.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 05.07.2013, 15:09  
Uz_Sleep_Walker
Прописка
 
Регистрация: 11.07.2008
Сообщений: 236
Сказал спасибо: 1,503
Сказали Спасибо 63 раз(а) в 44 сообщении(ях)
Uz_Sleep_Walker на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от nahimovv Посмотреть сообщение
Если ваш проект на МикроСи легко переносится на другой компилятор или другую платформу, то ради бога. Если же нет - делайте выводы сами, каким "инструментом" и как вы пользуетесь.
мне не надо переносить проекты с платформы на платформу. для моих задач хватает того чем я пользуюсь.


Сообщение от nahimovv Посмотреть сообщение
Ваша "истина" ещё хуже, вы с кровавой пеной у рта, с последней гранатой в окопе, будете её изрыгать, сидя на одной платформе и одном из псевдо-полу-недо-Си, и доказывать, что вас унижают, обижают, ругают, обманывают и только вы являетесь последним оплотом неизвестно чего.
вы удивляете меня своими выводами. я никому ничего не доказываю не говорю что меня обижают обманывают и далее по списку (это ваши фантазии), я сказал что мне нравится mikroC. А некоторые товарищи не могут принять мысли о том, что есть люди которые не поклоняются божеству "IAR".

большая просьба к вам и ваши единомышленникам не навязывать мне вашу точку зрения. Когда мне перестанет хватать mikroC тогда я первым вариантом рассмотрю IAR, как замену. А пока, в этом нет необходимости.
Uz_Sleep_Walker вне форума  
Непрочитано 05.07.2013, 15:15  
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от dosikus Посмотреть сообщение
Но я то как раз не против асм, просто ваш пример не особо показателен...
Да, пример в том виде как приведён не очень показателен, всё без асма выясняется.
Но если в программе, скажем, сотня переменных в т.ч. структур, десяток массивов, то уже сам не всегда помнишь их типы, когда исправляешь очередную функцию.
Кроме того, если, например, переменная получает значение из АЦП, то реальный её тип зависит от настроек АЦП и может не совпасть с объявленным(если вовремя не исправил).
Я это всё к тому, что в асме, поскольку обработка переменных мелкоструктурная, даже яснее понимаешь, зачем нужна типизация переменных в Си.


Я думаю, что Си по сравнению с асмом для микроконтроллеров даёт только лучшее понимание кода. (или более быстрое вспоминание, когда потом сам на него смотришь, особенно года через два - три)
Перенос на другой контроллер, даже похожий, всё равно требует изменения обработки периферии, хотя бы по названию управляющих регистров, тут Си не поможет.
Мне кажется, что для решения задач, обычно возлагаемых на контроллеры, гораздо важнее знать радиоэлектронику, иногда теорию обработки сигналов, иногда просто элементарную физику. Еще нужно придумать алгоритм решения задачи, а на чём писать - на Си, на асме или на VHDL, почти всё равно. Правда, если из камня нужно выжать процентов 50-70 ресурсов, я лично предпочитаю асм ))
ilyamp вне форума  
Непрочитано 05.07.2013, 15:48  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,427
Сказал спасибо: 0
Сказали Спасибо 381 раз(а) в 251 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от Uz_Sleep_Walker Посмотреть сообщение
мне не надо переносить проекты с платформы на платформу. для моих задач хватает того чем я пользуюсь.
Это аргумент правильности МикроСи?

Цитата:
вы удивляете меня своими выводами. я никому ничего не доказываю не говорю что меня обижают обманывают и далее по списку (это ваши фантазии), я сказал что мне нравится mikroC. А некоторые товарищи не могут принять мысли о том, что есть люди которые не поклоняются божеству "IAR".
Прчём здесь ИАР? Я им почти не пользуюсь, разве что, только с STM8.
Так что, о чём вы там говорите, вообще непонятно.
Или... кругом враги?
А я предупреждал:
Цитата:
вы с кровавой пеной у рта, с последней гранатой в окопе, будете её изрыгать, сидя на одной платформе и одном из псевдо-полу-недо-Си


Цитата:
большая просьба к вам и ваши единомышленникам не навязывать мне вашу точку зрения.
Боитесь, стесняетесь, чувствуете слабость? Или не можете принять истину, которая не вписывается в ваш кругозор и противоречит вашим знаниям?
Цитата:
Когда мне перестанет хватать mikroC тогда я первым вариантом рассмотрю IAR, как замену. А пока, в этом нет необходимости.
Валерьянкой сразу запаситесь.
nahimovv вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимальный лазерник для ЛУТ Kabron Делимся опытом 187 31.05.2016 10:51
Оптимальный привод тележки весом 200кг d-f-m Производственное оборудование 18 12.07.2010 00:29
[Решено] Оптимальный коттеджный домофон LAVR12 Автоматика и аппаратура связи 0 22.04.2010 20:17
О программировании AVR на C++ neiver Микроконтроллеры, АЦП, память и т.д 55 24.03.2010 19:33
Оптимальный ламинатор для ЛУТ snakesoft Делимся опытом 7 13.01.2010 22:41


Часовой пояс GMT +4, время: 01:27.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.