|
Assembler 2 и Си для AVR, Программы |
|
|
|
Jul 25 2006, 22:09
|
Группа: Новичок
Сообщений: 14
Регистрация: 3-01-06
Пользователь №: 12 807

|
Помогите, если кто знает ? 1. В последних версиях AVR студии говорится о переходе на Assembler 2 . Может у кого есть описание Assembler 2 или примеры применения!!! 2. В AVR студии есть компилятор С , значит можно писать в AVR студии на С ??? Если можно ,то как настроиться для написания программы на Си в AVR студии??? 3. В AVR студии компилятор С скомелирует код более быстродействующий и минимальный ,чем другие компиляторы ,или как ???
// Извините ,если вопросы глупые, я Си только начинаю изучать !!! //
|
|
|
|
|
Jul 25 2006, 23:20
|
Знающий
   
Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768

|
Цитата(Andrey_31 @ Jul 26 2006, 01:09)  1. В последних версиях AVR студии говорится о переходе на Assembler 2 . Может у кого есть описание Assembler 2 или примеры применения!!! 2. В AVR студии есть компилятор С , значит можно писать в AVR студии на С ??? Если можно ,то как настроиться для написания программы на Си в AVR студии??? 3. В AVR студии компилятор С скомелирует код более быстродействующий и минимальный ,чем другие компиляторы ,или как ??? Все ниженаписанное относится к AVR Studio v.4.12 1. Help -> Contents ->AVR Studio ->Introduction -> Release Notes -> AVRASM2 User Guide (ссылка внизу страницы). 2. В AVR Studio НЕТ компилятора С. Зато есть интерфейс к компиляторам от IAR Systems и GNU avr-gcc (например, в дистрибутиве WinAVR). На третий вопрос ответите сами ?
|
|
|
|
|
Jul 26 2006, 09:33
|
Группа: Новичок
Сообщений: 14
Регистрация: 3-01-06
Пользователь №: 12 807

|
1. Help -> Contents ->AVR Studio ->Introduction -> Release Notes -> AVRASM2 User Guide (ссылка внизу страницы).
1. Спасибо за совет!!! Я AVRASM2 User Guide и раньше смотрел, но реальных программ я там не находил. 2. Меня интересует в особенности пример программы с использованем макросов и команд #if , #elseif ,#endif на Assembler 2 . 3. Может есть у кого рабочая маленькая программа на Assembler 2 с использованием команд .if .elseif .endif .Эти команды анонсировались в AVRASM2 User Guide ,но очень мало.
|
|
|
|
|
Jul 26 2006, 09:46
|
Частый гость
 
Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922

|
Цитата(Andrey_31 @ Jul 26 2006, 13:33)  1. Help -> Contents ->AVR Studio ->Introduction -> Release Notes -> AVRASM2 User Guide (ссылка внизу страницы).
1. Спасибо за совет!!! Я AVRASM2 User Guide и раньше смотрел, но реальных программ я там не находил. 2. Меня интересует в особенности пример программы с использованем макросов и команд #if , #elseif ,#endif на Assembler 2 . 3. Может есть у кого рабочая маленькая программа на Assembler 2 с использованием команд .if .elseif .endif .Эти команды анонсировались в AVRASM2 User Guide ,но очень мало. #if , #elseif ,#endif стандартные макросы для препроцессора «С», очень удобны. Ищите в инете документацию или купите книгу по «С», не обязательно для микропроцессоров, синтаксис везде один.
--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
|
|
|
|
|
Jul 26 2006, 10:03
|
Участник

Группа: Новичок
Сообщений: 25
Регистрация: 29-11-05
Из: Донецк
Пользователь №: 11 548

|
Могу рекомендовать следующую книгу: "Программирование на языке С для AVR и PIC микроконтроллеров./ Сост. Ю.А. Шпак - К.: "МК-Пресс", 2006. - 400 с., ил. ISBN 966-8806-16-6". Тираж 2500 экз. Книга просто изумительная. В Донецке появилась с месяц назад, долго не залеживалась.
|
|
|
|
|
Jul 26 2006, 10:04
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(Andrey_31 @ Jul 26 2006, 12:33)  1. Help -> Contents ->AVR Studio ->Introduction -> Release Notes -> AVRASM2 User Guide (ссылка внизу страницы).
1. Спасибо за совет!!! Я AVRASM2 User Guide и раньше смотрел, но реальных программ я там не находил. 2. Меня интересует в особенности пример программы с использованем макросов и команд #if , #elseif ,#endif на Assembler 2 . 3. Может есть у кого рабочая маленькая программа на Assembler 2 с использованием команд .if .elseif .endif .Эти команды анонсировались в AVRASM2 User Guide ,но очень мало. Пример (ассемблер IAR): Код ; ; Allocate stack ; if STACK$ < 64 ; Only one instrcruction is needed sbiw r29:r28, STACK$ else ; two instruction are needed subi r28, LOW(STACK$) sbci r29, HIGH(STACK$) endif
|
|
|
|
|
Jul 26 2006, 21:15
|
Группа: Новичок
Сообщений: 14
Регистрация: 3-01-06
Пользователь №: 12 807

|
Всем спасибо ! Буду искать книгу и учить Си. Ещё я понял что на Аssembler 2 никто программы не пишет ,по свободке прийдётся самому экспериментировать... Если кто узнает новенькое, пишите!!!
|
|
|
|
|
Jul 27 2006, 03:38
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 26-05-05
Из: г. Челябинск
Пользователь №: 5 387

|
Могу рекомендовать следующую книгу: "Программирование на языке С для AVR и PIC микроконтроллеров./ Сост. Ю.А. Шпак - К.: "МК-Пресс", 2006. - 400 с., ил. ISBN 966-8806-16-6". Тираж 2500 экз. Книга просто изумительная. В Донецке появилась с месяц назад, долго не залеживалась. Вот ссылки на эту книгу: http://slil.ru/22955074http://rapidshare.de/files/27144815/000947.rar.html
|
|
|
|
|
Jul 27 2006, 07:49
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(Andrey_31 @ Jul 27 2006, 00:15)  Всем спасибо ! Буду искать книгу и учить Си. Ещё я понял что на Аssembler 2 никто программы не пишет ,по свободке прийдётся самому экспериментировать... Если кто узнает новенькое, пишите!!! Если хотите использовать ассемблер, то рекомендую взять от IAR. Он помощнее Assembler 2 будет, да и до Си от него недалеко.
|
|
|
|
|
Jul 27 2006, 15:23
|
Местный
  
Группа: Свой
Сообщений: 205
Регистрация: 21-12-04
Из: Киев
Пользователь №: 1 593

|
Цитата(Andrey_31 @ Jul 27 2006, 00:15)  ... Ещё я понял что на Аssembler 2 никто программы не пишет ,по свободке прийдётся самому экспериментировать... Assembler НЕ язык ПРОГРАММИРОВАНИЯ !!! Это "управитель потрохами" контроллера.  "Программу" вы составляете в голове (или мнемосхему на бумаге), представляете себе движение данных по регистрам и памяти и с помощью Ассемблера ОПИСЫВАЕТЕ ПОВЕДЕНИЕ КОНТРОЛЛЕРА. Короче для начинающих - Ассемблер НЕ "учебник", а "словарик". Знаешь как должен себя вести контроллер - с помощью "словарика" "объясняешь" контроллеру как себя вести Так что никаких if - then -else в ассемблере принципиально нет. Т.е. вместо фразы "сходи в магазин"(на Си) описываешь "процесс шевеления ногами в сторону магазина" (ассемблер)
--------------------
На "нет" и "нах" :)
|
|
|
|
|
Jul 27 2006, 17:04
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(GeorgyBey @ Jul 27 2006, 18:23)  Цитата(Andrey_31 @ Jul 27 2006, 00:15)  ... Ещё я понял что на Аssembler 2 никто программы не пишет ,по свободке прийдётся самому экспериментировать...
Так что никаких if - then -else в ассемблере принципиально нет. Еще как есть. Другой вопрос, как и для чего это необходимо.
|
|
|
|
|
Jul 28 2006, 05:08
|
Местный
  
Группа: Свой
Сообщений: 303
Регистрация: 3-03-05
Пользователь №: 3 044

|
Цитата(GeorgyBey @ Jul 27 2006, 18:23)  Цитата(Andrey_31 @ Jul 27 2006, 00:15)  ... Ещё я понял что на Аssembler 2 никто программы не пишет ,по свободке прийдётся самому экспериментировать...
Assembler НЕ язык ПРОГРАММИРОВАНИЯ !!! Это "управитель потрохами" контроллера.  "Программу" вы составляете в голове (или мнемосхему на бумаге), представляете себе движение данных по регистрам и памяти и с помощью Ассемблера ОПИСЫВАЕТЕ ПОВЕДЕНИЕ КОНТРОЛЛЕРА. Короче для начинающих - Ассемблер НЕ "учебник", а "словарик". Знаешь как должен себя вести контроллер - с помощью "словарика" "объясняешь" контроллеру как себя вести Так что никаких if - then -else в ассемблере принципиально нет. Т.е. вместо фразы "сходи в магазин"(на Си) описываешь "процесс шевеления ногами в сторону магазина" (ассемблер)  Крутая сентенция!
--------------------
Опыт - чудесная вещь: легко использовать, можно продать, трудно пропить.
|
|
|
|
|
Jul 28 2006, 06:27
|
Частый гость
 
Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964

|
Цитата(GeorgyBey @ Jul 27 2006, 19:23)  Assembler НЕ язык ПРОГРАММИРОВАНИЯ !!! Это "управитель потрохами" контроллера.  "Программу" вы составляете в голове (или мнемосхему на бумаге), представляете себе движение данных по регистрам и памяти и с помощью Ассемблера ОПИСЫВАЕТЕ ПОВЕДЕНИЕ КОНТРОЛЛЕРА. Короче для начинающих - Ассемблер НЕ "учебник", а "словарик". Знаешь как должен себя вести контроллер - с помощью "словарика" "объясняешь" контроллеру как себя вести Так что никаких if - then -else в ассемблере принципиально нет. Т.е. вместо фразы "сходи в магазин"(на Си) описываешь "процесс шевеления ногами в сторону магазина" (ассемблер)  Лето.... жарко.... надо попить холодного пива и успокоиться. Assembler вполне язык программирования, в некоторых случаях незаменимый, и начинать надо именно с него (ИМХО конечно). Другое дело, что на С легче писать, но мы ведь не ищем легких путей, нам нужна эффективность  , а потому используем и то и другое ("и мёду и сгущёнки и можно без хлеба").
|
|
|
|
|
Jul 28 2006, 22:54
|
Группа: Новичок
Сообщений: 14
Регистрация: 3-01-06
Пользователь №: 12 807

|
Господа ,не надо сравнивать белое и чёрное!!!!!!! На Assemblere код программы в три раза короче и в два раза быстрее выполняется ,чем на Си !!!!! Однако .если хватает памяти программ и не важно быстродействие ,удобнее писать на Си (особенно если только Си и знаешь). Хотя изучив хорошо Assembler разница в скорости написания будет маленнькая !
Вопрос был в том, что AVRстудия переходит с Assembler 1 на Assembler2 , а примеров написания программ на Assembler2 я не находил !!! Надеюсь будут ответы по существу ,а не о достоинстве Си ......
|
|
|
|
|
Jul 29 2006, 06:32
|
Частый гость
 
Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964

|
Цитата(Andrey_31 @ Jul 29 2006, 02:54)  Господа ,не надо сравнивать белое и чёрное!!!!!!! На Assemblere код программы в три раза короче и в два раза быстрее выполняется ,чем на Си !!!!! Однако .если хватает памяти программ и не важно быстродействие ,удобнее писать на Си (особенно если только Си и знаешь). Хотя изучив хорошо Assembler разница в скорости написания будет маленнькая !
Вопрос был в том, что AVRстудия переходит с Assembler 1 на Assembler2 , а примеров написания программ на Assembler2 я не находил !!! Надеюсь будут ответы по существу ,а не о достоинстве Си ...... AVRстудия перешла на Assembler2 в марте 2005 (см help AVRстудии ... AVR Assembler 2.0 Released with AVR Studio 4.11 Jan-Mar 2005 AVRASM2 is now the default AVR Studio assembler ...) А что вы имели ввиду говоря о примерах написания программ на Assembler2? Там добавили множество полезных фишек (и новых директив) по использованию препроцессора, который теперь "C-style preprocessor"(см. help), потому и сравнивать стали с С  . Использовать эти новые вещи или не использовать - дело вкуса, написание программы собственно на Assembler не изменилось практически, он в С от этого не превратился, if-ы это для препроцессора, а не для ассемблера.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|