Easyelectronics.ru

Электроника для всех
Текущее время: 06 дек 2022, 18:34

Часовой пояс: UTC + 5 часов


Правила форума


Входить исключительно со своей туалетной бумагой. Можно невозбранно получить по голове за быдляк и личные наезды.



Начать новую тему Ответить на тему  [ Сообщений: 320 ]  На страницу 1, 2, 3, 4, 5 ... 13  След.
Автор Сообщение
 Заголовок сообщения: Assembler vs Си (паскаль, васик и тыды)
СообщениеДобавлено: 26 июл 2010, 12:22 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
Наконец то я определился на чем писать под AVR. Раньше работал с 8051, там писал на ассемблере. Решил заняться AVRками, асм авровский меня сначата ужаснул после 8051, пробовал и C и паскаль, но толи склад ума такой, толи еще что то - не могу въехать в ЯВУ. Запустил сегодня RTOS DiHalta, после четырех часов тупления в код заработала тестовая программа. Доволен как слон. Думаю что на этой RTOS можно успешно решать даже довольно сложные задачи, если такие возникнут.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 13:14 
Только пришел

Зарегистрирован: 17 май 2010, 10:53
Сообщения: 28
Откуда: Луганск
не зарекайся, как по мне лучше всего это С с асм вставками, если программа большая, бо год будешь ее на асме писать, а если что-то поменьше то тут и на асме можно, все четко видно и под контролем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 13:18 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
Да я это как бы понимаю, смотрю листинги на С и тоже все вроде понятно, но заставить себя программировать на С почему то не могу. Как то переломить себя нужно чтоли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 13:39 
Супермодератор
Аватара пользователя

Зарегистрирован: 26 янв 2010, 22:08
Сообщения: 7549
Откуда: Алма-ата
Bomond писал(а):
Да я это как бы понимаю, смотрю листинги на С и тоже все вроде понятно, но заставить себя программировать на С почему то не могу. Как то переломить себя нужно чтоли.
Аналогично. Сколько не пробовал C или, к примеру, FORT, вроде умом все понятно, а душа не приемлет. Нет легкости написания, каждую строчку как бы выдавливаешь из себя, постоянно контролируя мозгом. А вот разные варианты Паскаля - под DOS, под Винды (DELPHI), МикроПаскаль для PIC и для AVR - пошли с ходу, как думаю - так и пишу. Нравится строгость и логичность, наглядность синтаксиса, вместо синтаксиса, к примеру, того же С, наполовину состоящего из фигурных скобок, знаков препинания и закорючек.
Ну, а ассемблер, в любом случае, считаю, знать надо, особенно при работе с микроконтроллерами. Без него ни отладить толком, ни разобраться в дизассемблированном коде чужой программы. Также знание ассемблера позволяет лучше писать программы для микроконтроллеров на других языках, потому что уже понимаешь, что будет реализовано в итоге парой команд, а что займет полстраницы листинга. Ну и иногда полезно сделать вставку из пары команд на ассемблере, чем сделать то же средствами того же С, где это может вылиться в десятки команд, оформится в виде функции, да еще и с передачей в нее параметров и использованием стека...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 13:43 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
Полностью согласен. Из всех ЯВУ что я пробовал (Basic, C), паскаль, кстати мне наиболее понятен. Иногда на Delphi мелкие программки делаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 14:55 
Только пришел

Зарегистрирован: 17 фев 2010, 22:27
Сообщения: 23
А мне синтаксис С как раз таки нравится. "Фигурные скобки и знаки препинания" не мешают, а наоборот удобны. Так что это - дело вкуса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 17:48 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
Ну для меня синтаксис это не основной камень приткновения :-)) Его просто можно выучить, а вот алгоритмические конструкции на ЯВУ мне с трудом даются почему то. Хотя если смотрю чужой код - все в основном понимаю, стоит самому что то написать - ступор. Видимо я туп.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 18:12 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 03 мар 2010, 15:22
Сообщения: 97
Откуда: из оттуда
Bomond писал(а):
Ну для меня синтаксис это не основной камень приткновения :-)) Его просто можно выучить, а вот алгоритмические конструкции на ЯВУ мне с трудом даются почему то. Хотя если смотрю чужой код - все в основном понимаю, стоит самому что то написать - ступор. Видимо я туп.

Просто нужна практика и соответствующая интересная задача.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 20:23 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
Мне на С писать проще. Особенно большие программы. Но как представлю, что в итоге может выдать компилятор, то становится грустно:) Это не только к С, но и к паскалю относится, который мне не нравится, с его глупыми begin, end и := Не то что в С с его { }. "Краткость - сестра таланта" (с:) Не мой язык паскаль.

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 20:25 
Супермодератор
Аватара пользователя

Зарегистрирован: 26 янв 2010, 22:08
Сообщения: 7549
Откуда: Алма-ата
PRC писал(а):
Не то что в С с его { }. "Краткость - сестра таланта" (с:) Не мой язык паскаль.
Некоторые краткостью просто оправдывают собственную лень...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 20:36 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
SWG, "Лень - двигатель прогресса" (с:)
А какая принципиальная разница между С и паскалем? Кроме разного написания директив, вроде тех же { и begin. Особенно применительно к авр. Тут наверное больше дело вкуса.

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 21:00 
Супермодератор
Аватара пользователя

Зарегистрирован: 26 янв 2010, 22:08
Сообщения: 7549
Откуда: Алма-ата
PRC писал(а):
SWG, "Лень - двигатель прогресса" (с:)
А какая принципиальная разница между С и паскалем? Кроме разного написания директив, вроде тех же { и begin. Особенно применительно к авр. Тут наверное больше дело вкуса.

Так и я всегда молодым обьясняю, что процессор в любом случае только нули и единицы понимает, остальное придумано для программистов.
И в процессе своего развития многие языки постепенно перенимают удачные приемы друг у друга. Не было в C процедур, только функции, - нате вам функцию без параметров (void), по сути - та же паскалевская "procedure", многие программы начали использовать отступы, впервые использованные в Паскале, нравилась программистам DELPHI, но западло было уходить от C - пожалста, вот вам С-Builder... Основные структурные конструкции во всех языках - те же самые: прямое следование, условный переход, цикл "до", цикл "пока", переключатель... Так что выбор языка - дело вкуса программиста. Ну и маркетинг, реклама, "крутость", престижность... Если отбросить всю эту шелуху, Паскаль ничем не хуже других, (а кое-чем, может, и получше). Мне нравится. А begin - end вовсе не обязательно руками набирать, если лень - можно скопировать уже написанную процедуру, и изменить только ее имя, вписать другой обработчик... А DELPHI так вообще при щелчке на обьекте сразу пишет в текст заготовку процедуры, уже с заголовком и событием. Многие компиляторы Паскаля и редакторы для программистов даже имеют спецклавишу, которая вставляет в текст пару "begin - end", так что это ненамного сложнее скобок. И с точки зрения здравого смысла они в программе более уместны, чем безликие фигурные скобки, которые также часто путают с круглыми, делая ошибки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 21:04 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 00:28
Сообщения: 1337
Откуда: сами знаете
Как и любая другая тема связанная с языком программирования, эта начала плавненько перетекать в холивар какой же язык круче :-)

_________________
http://avrdevices.ru/ мои девайсы
http://easystm32.ru/ Сайт про STM32


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 21:08 
Супермодератор
Аватара пользователя

Зарегистрирован: 26 янв 2010, 22:08
Сообщения: 7549
Откуда: Алма-ата
Medved писал(а):
Как и любая другая тема связанная с языком программирования, эта начала плавненько перетекать в холивар какой же язык круче :-)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 21:19 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
Medved писал(а):
Как и любая другая тема связанная с языком программирования, эта начала плавненько перетекать в холивар какой же язык круче :-)

Черт, я не хотел :-)
А если серьезно, то на самом деле пофиг С или Паскаль. Если у меня есть задача несложная, я напишу прогу на Bascomе, работает и ладно - мне по большему счету плевать какой размер в итоге, скорость и т.п. главное что железка работает. Другое дело что хочется знать МК наизусть, а тут надо асм. Вот только после 8051 асм у авр жутковатый. Запустил сегодня RTOS, так меня проперло, сижу систему команд вкуриваю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 21:39 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
Несложную задачу я сделаю на ассемблере:) А после 8051 система команд у авр действительно кажется неудобной, точнее необычной и непонятной. А если захочется застрелиться, то могу порекомендовать написать какие-нибудь часы с будильником на ассемблере для пика. Вот там точно Изображение и Изображение
Развиваем тему священных войн:)
SWG, Visual studio при двойном щелчке на методе элемента создает готовую функцию, не только со скобками, но и входными параметрами. С указанием типов. И {} обычно используются в отдельной строке и путаницы не создают.
Но мы ведь рассматриваем языки для однокристалок, а там это уже не работает. Кроме скобок на отдельной строке, конечно;)

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 22:10 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
PRC писал(а):
Несложную задачу я сделаю на ассемблере:)


Ну да, логика верная, но вот недавно делал для сортира управление светом на базе пирометрического датчика, сделал на Bascome. Алгоритм простейший - пять строк кода и все сразу получилось. А на асме портянка гораздо больше вышла бы. У меня сейчас мало опыта програмить авр на асме, вкуриваю архитектуру и систему команд. Поэтому когда понадобилось устройство я взял 2313 - там есть оперативка и писать можно на том же бэйсике. Сейчас же я уже понял что у меня есть тини12 и ее хватило бы с головой, но асм авр тогда я вообще не понимал. Такие дела.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 22:17 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
Обычно решение задачи я для начала прикидываю на ассемблере. Типа основные функции. И если там временных и других аппаратных затрат не возникает, то делаю окончательный вариант на чем-то еще. Особенно если много рутинных операций по пересылке данных туда-сюда.

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 22:22 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 00:28
Сообщения: 1337
Откуда: сами знаете
На асме пишу все кроме того что требует вычислений с не целыми числами. Арифметика на асме это адъ

_________________
http://avrdevices.ru/ мои девайсы
http://easystm32.ru/ Сайт про STM32


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 22:35 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
Medved писал(а):
асме это адъ

Это точно :-))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 23:09 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:48
Сообщения: 3965
Откуда: Звенигород
К васику для однокристалок у меня есть некоторое недоверие. Идущее еще со времен васика для РС. Где была и интерпретация по одному оператору и проверка всего что можно до использования. Сейчас этого наверное нет, но неприятие осталось.
Интересно почему не возникает войны Bascom VS Pascal или Pascal VS Algoritm Bilder?

_________________
От Парижа до Находки с водкой лучше, чем без водки!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 23:33 
Супермодератор
Аватара пользователя

Зарегистрирован: 26 янв 2010, 22:08
Сообщения: 7549
Откуда: Алма-ата
PRC писал(а):
Интересно почему не возникает войны Bascom VS Pascal или Pascal VS Algoritm Bilder?
Разные весовые категории. Паскаль все же ближе к C.
Бэйсик, а тем более АБ для серьезных задач мало пригодны, и размер кода намного больше. А некоторые варианты Бэйсика для микроконтроллеров вообще позволяют засунуть в память не больше полсотни - сотни операторов...
Несерьезно все это. А на МикроПаскале я даже в 2 килобайта столько могу натолкать, что и многие компиляторы C обзавидуются. Притом работа идет в многозадачном режиме реального времени, с кучей программных таймеров, каналами связи, и всем прочим. И главный цикл успевает провернуться за пару сотен микросекунд, пробежав по всем задачам и сделав чего надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 23:36 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
наверное потому что у большинства программирование авр это или С или АСМ. Кстати заметил что на музыкальных форумах срачи по поводу "какой гитарист круче" просто эпические, а вот клавишников так не обсуждают, хотя играют они не хуже порой. Блин. я гоню чтото уже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 23:38 
Старожил

Зарегистрирован: 22 мар 2010, 22:54
Сообщения: 3995
PRC писал(а):
Интересно почему не возникает войны Bascom VS Pascal или Pascal VS Algoritm Bilder?

потому что глупо об этом спорить:) паскаль всех уделает:)

а рассуждения SWG о языках (кто у кого что перенял) - ей богу как у школьника... даже комментить не буду:)

SWG писал(а):
А на МикроПаскале я даже в 2 килобайта столько могу натолкать, что и многие компиляторы C обзавидуются.

от оно! началось! а может это того? все же какой-нить конкретный пример намутим? на паскале и на си. и заценим "у кого компилятор круче". и поставим уже жирную точку в этом бреду!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буду программировать AVR на ассемблере!
СообщениеДобавлено: 26 июл 2010, 23:43 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4405
Откуда: Брянск
Пипец, началось. Ink, ну так выкладывай код а то никогда истины не узнаем.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 320 ]  На страницу 1, 2, 3, 4, 5 ... 13  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB