Приветствую. Подскажите, как вывести в порт B или PortD, число более 61. В авр студио ругается, мол вывод через регистр не более 61h, а нужно полность управлять портом и сразу, а не битиками дёргаться. В 51-м проще. Может что не так делаю? вот небольшой пример: ldi r16, 0b1000000 out portB,r16 - всё нормально но стоит занести большее значение, так сразу ругается: ldi r16, 0b11000000 out portB, r16 - ругается. Как правильно сделать? Вот и всё, пока.
Управление портом в АВР
Feb 07, 2008
106 Replies
Здравствуйте Evgeniy Terehov пишет:
Приведённый пример работает в версии 4.12 сервис пак 4 билд 498, процессор аттини15. Более старые версии ветки 4 или не поддерживали тини15 или глючили. В более новых - могут и убрать, похожее у них было - не поддерживало, поддерживало с глюками - не поодерживало. Кроме того - пришлось в настройках ассемблера указать версию 1, в версии 2 выдаёт какую-то ошибку. Так что попробуй поменять тип ассемблера, версию аврстудии (на более новую - более старую)
Hello, Evgeniy! You wrote to All on Thu, 07 Feb 2008 17:59:34 +0500:
ET> Подскажите, как вывести в порт B или PortD, число более 61. В авр ET> студио ругается, мол вывод через регистр не более 61h, а нужно полность ET> управлять портом и сразу, а не битиками дёргаться. В 51-м проще. Да какая разница... ET> Может что не так делаю? вот небольшой пример: ET> ldi r16, 0b1000000 ET> out portB,r16 - всё нормально ET> но стоит занести большее значение, так сразу ругается: ET> ldi r16, 0b11000000 ET> out portB, r16 - ругается. Ругается-то на что? ET> Как правильно сделать? ET> Вот и всё, пока. Сразу скажу ... я не понял в чём у тебя проблема. Hо уж точно не в Атмеле.
-------------------------------------------
.include "can128def.inc"
ldi r16, 0b1000000 out PORTB,r16 ldi r16, 0b11000000 out PORTB, r16
---------------------------------- ... и никакой ругани. Hи предупреждений, ни ошибок.
:020000020000FC :0800000000E405B900EC05B9AC :00000001FF
000000 e400 ldi r16, 0b1000000 000001 b905 out PORTB,r16 000002 ec00 ldi r16, 0b11000000 000003 b905 out PORTB, r16--------------------------- .include "tn11def.inc"
ldi r16, 0b1000000 out PORTB,r16 ldi r16, 0b11000000 out PORTB, r16
---------------------------
:020000020000FC :0800000000E408BB00EC08BBA2 :00000001FF
000000 e400 ldi r16, 0b1000000 000001 bb08 out PORTB,r16 000002 ec00 ldi r16, 0b11000000 000003 bb08 out PORTB, r16With best regards, Andrej Arnold. E-mail: snipped-for-privacy@aol.com
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required