Управление портом в АВР

Hello, Alex! You wrote to Evgeniy Terehov on Fri, 08 Feb 2008 21:31:18 +0300:

AM> Привет, Evgeniy Terehov!

AM> 07.02.2008 17:59 Вы писали:

??>> Подскажите, как вывести в порт B или PortD, число более 61.

AM> PORTB = 62;

??>> В авр студио ругается, мол

AM> Выкинь. ...

AM> Все правильно делаешь. Инструкция out PORTB,r16 выполняется для AM> любого значения r16. Если Студия другого мнения, тем хуже для нее.

Что-то там не то. Я давно со студией не работал и уже ее не помню, но врядли ее афтары такие идиоты.

With best regards, Alexander Torres. 2:461/28, E-mail: snipped-for-privacy@yahoo.com [а ночью мы снова, уйдем эскадроном..]

formatting link

Reply to
Alexander Torres
Loading thread data ...

Привет, Evgeniy Terehov!

07.02.2008 17:59 Вы писали:

Подскажите, как вывести в порт B или PortD, число более 61.

PORTB = 62;

В авр студио ругается, мол

Выкинь.

вывод через регистр не более 61h, а нужно полность управлять портом и сразу, > а не > битиками дёргаться. В 51-м проще. Может что не так делаю? > вот небольшой пример: > ldi r16, 0b1000000 > out portB,r16 - всё нормально > но стоит занести большее значение, так сразу ругается: > ldi r16, 0b11000000 > out portB, r16 - ругается.

Все правильно делаешь. Инструкция out PORTB,r16 выполняется для любого значения r16. Если Студия другого мнения, тем хуже для нее.

Reply to
Alex Mogilnikov

Привет, Alexander Torres!

08.02.2008 20:18 Вы писали:

Я с ней работал давно (нужно было работать с эмулятором ICE-200), до сих пор вспоминаю с содроганием. :( И в том, что Атмеловцы не умеют писать программы, я потом убеждался неоднократно.

ИМХО в любом случае выкинуть ее - хорошая идея.

Reply to
Alex Mogilnikov

100%. Ассемблер там дерьма кусок. Рекомендую avra: AVRA: advanced AVR macro assembler Version 1.0.1 Build 113 (12. February 2004)
Reply to
Kirill Frolov

Да уж. (С) Крутизна немерянная ;)

.include "can128def.inc"

ldi r16, 0b1000000 out PORTB,r16 ldi r16, 0b11000000 out PORTB, r16

AVRA: advanced AVR macro assembler Version 1.2.3 Build 2 (15. November 2007) Copyright (C) 1998-2007. Check out README file for more info AVRA is an open source assembler for Atmel AVR microcontroller family It can be used as a replacement of 'AVRASM32.EXE' the original assembler shipped with AVR Studio. We do not guarantee full compatibility for avra. AVRA comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of avra under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING. Pass 1... C:\WinAVR\IMS_25\testasm\C:\Programme\Atmel\AVR Tools\AvrAssembler\Appnotes/can128def.inc(40) : Error : Unknown device: AT90CAN128 Warning : No .DEVICE definition found. Cannot make useful address range check !

... своего "ребёнка", как водится, до сих пор не родили, зато поклонников...

Удачи, Андрей

Reply to
Andrej Arnold

Hello Kirill Frolov!

Ага, "повёлся" я на это дело и попытался оным AVRA собрать amforth ... ЖB}}}

PS2ALL: а не подкинет ли кто-нибудь ссылку на ресурс, где лежит *только* ассемблер от AVRStudio 4.12/4.13 или посвежЕе ?

Reply to
Alexander Konosevich

Hello Andrej Arnold!

Ж%~}}} "Ти зналь, ти зналь !.." (ц)

Hе далее как вчера затрахался воевать с этим "продуктом", а добиться внятных результатов так и не удалось (последний укачанный билд под Win даже листинг для диагностики выданных им errors'ов не создал, сцукко ! Ж&)

PS А какой *древний* асм от аврстудио уже поддерживает .if/.endif и т.п. ?

Reply to
Alexander Konosevich
2008-02-17, Alexander Konosevich snipped-for-privacy@f9.n.z2.fidonet.org> пишет:

Hастоящий forth требует для сборки только forth.

Reply to
Ilya Anfimov

Hello Alexander.

AK> PS А какой *дpевний* асм от авpстyдио yже поддеpживает .if/.endif и т.п. ?

Avrasm2, котоpый появился, вpоде, начиная со стyдии v4.0, то есть, yже года 4 назад. Он, вообще, очень даже пpиличный. В отличие от пеpвого, он ноpмально pаботает с pyсскими символами и стpоками в данных, обpабатывает ошибки типа pyсской бyквы в мнемонике, пpи ошибках в вызове макpосов, показывает именно откyда вызван, а не самy тyшкy макpоса. С yсловным ассемблиpованием тоже все ноpмально. В стyдии, в опциях ассемблиpования можно выбpать, использовать v1 или v2.

Igor

Reply to
Igor Wihanski

Приветствую Вас, Alexander!

17 Фев 08 года, в 13:12, Alexander Konosevich (2:5004/9) -> Andrej Arnold:

AK> Hе далее как вчера затрахался воевать с этим "продуктом", а добиться AK> внятных результатов так и не удалось (последний укачанный билд под Win

Пытался представить - не удалось. Поделитесь впечатлениями?

Пока. Anton.

... Hе мечи бисер перед свиньями. Они этого не оценят.

Reply to
Anton Barabanov

Hallo! "Alexander Konosevich" snipped-for-privacy@f9.n.z2.fido.cca.usart.ru>

Просто такое (что-то брякнуть, и самому в кусты) водится за Кириллом уже много лет, так что результат и в самом деле предугадывался.

У меня стоит самый новый. Посему тут помочь не могу.

Удачи, Андрей

Reply to
Andrej Arnold

Hello Andrej Arnold!

Вчера забрёл вот сюда, рекомендую ! ЖB}

formatting link

Reply to
Alexander Konosevich

Hello Ilya Anfimov!

IA> Hастоящий forth требует для сборки только forth.

Понятно, ещё один "сторонник чистого искусства" ... Ж&}}}

Reply to
Alexander Konosevich

Hello Igor.

Mon Feb 18 2008 02:25, Igor Wihanski wrote to Alexander Konosevich:

AK>> PS А какой *дpевний* асм от авpстyдио yже поддеpживает .if/.endif и т.п. AK>> ?

IW> Avrasm2, котоpый появился, вpоде, начиная со стyдии v4.0, то есть, yже IW> года 4 назад.

По-моему, писать на асме для AVR - извращение... ну, конечно, не считая критических кусков.

Dimmy.

Reply to
Dimmy Timchenko

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Igor Wihanski on Tue, 19 Feb

2008 09:45:23 +0300:

AK>>> PS А какой *дpевний* асм от авpстyдио yже поддеpживает .if/.endif AK>>> и т.п. ?

IW>> Avrasm2, котоpый появился, вpоде, начиная со стyдии v4.0, то есть, IW>> yже года 4 назад.

DT> По-моему, писать на асме для AVR - извращение... ну, конечно, не DT> считая критических кусков.

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

dima

formatting link

Reply to
Dmitry Orlov

Hello Dmitry.

Tue Feb 19 2008 14:28, Dmitry Orlov wrote to me:

DT>> По-моему, писать на асме для AVR - извращение... ну, конечно, не DT>> считая критических кусков.

DO> Да и вообще на асме сегодня очень мало подо что не извращение писать.

Тоже верно.

DO> Что, впрочем, не помеха прикрутить к любому асму любой макропроцессор, DO> благо стандартизация и переносимость для ассемблерного кода - не самое DO> важное.

Да, если б смысл был... Сделать, например, "многоплатформенный" ассемблер с правильным синтаксисом. Hо уже не актуально.

Dimmy.

Reply to
Dimmy Timchenko

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 19 Feb

2008 15:11:22 +0300:

DT>>> По-моему, писать на асме для AVR - извращение... ну, конечно, не DT>>> считая критических кусков.

DO>> Да и вообще на асме сегодня очень мало подо что не извращение DO>> писать.

DT> Тоже верно.

Простые вещи в устройствах с очень высокими тиражами и при этом высокой долей стоимости контроллера в общей стоимости изделия. Иначе не окупится.

DO>> Что, впрочем, не помеха прикрутить к любому асму любой DO>> макропроцессор, благо стандартизация и переносимость для DO>> ассемблерного кода - не самое важное.

DT> Да, если б смысл был... Сделать, например, "многоплатформенный" DT> ассемблер с правильным синтаксисом. Hо уже не актуально.

Многоплатформенный ассемблер называется С... А какой-нибудь M4 (а для условной компиляции и сишного препроцессора хватит) к существующему асму прикрутить можно простыми командными файлами, хотя наигравшись в свое время с макроассемблированием (практически язык программирования на макросах делал), я прочувствовал многочисленные недостатки этого подхода. Раздутый код, отвратительная диагностика ошибок, трудности в одладке (отладчик-то на уровне макропроцессора не работает), трудности в отладке самих макросов (пошагового прохождения их с просмотром промежуточных результатов в известных мне макропроцессорах нет). Кроме того, по прошествии времени в своем же коде тяжело разобраться, а уж за чужой такой вообще страшно браться.

dima

formatting link

Reply to
Dmitry Orlov

Hello Dmitry.

Tue Feb 19 2008 20:02, Dmitry Orlov wrote to me:

DO>>> Да и вообще на асме сегодня очень мало подо что не извращение DO>>> писать.

DT>> Тоже верно.

DO> Простые вещи в устройствах с очень высокими тиражами и при этом DO> высокой долей стоимости контроллера в общей стоимости изделия. Иначе DO> не окупится.

Угу. Hо для таких железяк, видимо, имеет смысл какие-нибудь ASIC заказывать.

DO>>> Что, впрочем, не помеха прикрутить к любому асму любой DO>>> макропроцессор, благо стандартизация и переносимость для DO>>> ассемблерного кода - не самое важное.

DT>> Да, если б смысл был... Сделать, например, "многоплатформенный" DT>> ассемблер с правильным синтаксисом. Hо уже не актуально.

DO> Многоплатформенный ассемблер называется С...

И я на то намекаю. :)

DO> А какой-нибудь M4 (а для условной компиляции и сишного препроцессора DO> хватит) к существующему асму прикрутить можно простыми командными DO> файлами, хотя наигравшись в свое время с макроассемблированием DO> (практически язык программирования на макросах делал), я прочувствовал DO> многочисленные недостатки этого подхода.

Тут важно не увлекаться. :) Я тоже когда-то рисовал "структурные макросы", но они были простыми и "атомарными".

Dimmy.

Reply to
Dimmy Timchenko

Привет, Dimmy !

19 Feb 08 , 15:11 Dimmy Timchenko писал к Dmitry Orlov:

DT> Сделать, например, "многоплатформенный" ассемблер с правильным DT> синтаксисом.

"язык Си" именно на это и претендует.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... Пересадить собаку с сена на цепь

Reply to
Nickita A Startcev

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 19 Feb

2008 20:43:34 +0300:

DO>>>> Да и вообще на асме сегодня очень мало подо что не извращение DO>>>> писать.

DT>>> Тоже верно.

DO>> Простые вещи в устройствах с очень высокими тиражами и при этом DO>> высокой долей стоимости контроллера в общей стоимости изделия. DO>> Иначе не окупится.

DT> Угу. Hо для таких железяк, видимо, имеет смысл какие-нибудь ASIC DT> заказывать.

Hу масочный контроллер тоже своего рода ASIC, в сравнении с настоящим ASIC'ом где-то есть граница, где масочный контроллер вцелом обходится дешевле. Как и где-то есть граница, где масочная прошивка, написанная на ассемблере дешевле написанного на С кода залитого в универсальный контроллер. Граница тиража, цены разработки, верности их оценки, личных предпочтений конкретных разработчиков, etc.

DO>>>> Что, впрочем, не помеха прикрутить к любому асму любой DO>>>> макропроцессор, благо стандартизация и переносимость для DO>>>> ассемблерного кода - не самое важное.

DT>>> Да, если б смысл был... Сделать, например, "многоплатформенный" DT>>> ассемблер с правильным синтаксисом. Hо уже не актуально.

DO>> Многоплатформенный ассемблер называется С...

DT> И я на то намекаю. :)

:)

DO>> А какой-нибудь M4 (а для условной компиляции и сишного DO>> препроцессора хватит) к существующему асму прикрутить можно DO>> простыми командными файлами, хотя наигравшись в свое время с DO>> макроассемблированием (практически язык программирования на DO>> макросах делал), я прочувствовал многочисленные недостатки этого DO>> подхода.

DT> Тут важно не увлекаться. :) Я тоже когда-то рисовал "структурные DT> макросы", но они были простыми и "атомарными".

Hу а я увлекся процессом, потом наступило понимание того, что это порочный путь в никуда. В принципе, так всегда бывает, когда процесс становится самоцелью...

dima

formatting link

Reply to
Dmitry Orlov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.