Toggling the Pin

Обсуждаем контроллеры компании Atmel.
Ответить
Мучитель микросхем
Сообщения: 439
Зарегистрирован: Ср сен 02, 2015 07:47:20

Сообщение HardWareMan »

Абсолютно поддерживаю предыдущего оратора. Добавлю так же, что кто-то не внимательно прочитал датащит:
Изображение
Тогглинг меняет выбранные биты именно в значении выходной защелки, доступной по PORTx.
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Pnjom-Penb писал(а):
ILYAUL писал(а):Ну-ка ответь. Нач усл. PORTx = все единицы. Что быстрее OUT PORTx,zero или OUT PINx, FF
HardWareMan писал(а):Ну-ка ответь. Нач усл. PORTx = 0xAA, требуется сделать 0x55. Что быстрее IN R16,PORTx/EOR R16,#0xFF/OUT PORTx,R16 или OUT PINx,0xFF?...
ILYAUL, HardWareMan, ну-ка, ответьте оба - нужно toggle'ить некоторые пины, а начальное их состояние неизвестно - и чё делать тогда этими OUT'ами? Даже если бы они были в тысячу раз быстрее всех остальных инструкций... :)
Out DDRx,zero
Out portx,zero - стало известно начальное состояние
Дальше , ебитесь с Toggling
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Бывают ситуации когда состояние пина не важно, а важен именно факт переключения (запись в PIN быстрее).
Так чем быстрее то SBI PINx,{EQ от SBI PORTx,YF{EQ
Бывают ситуации когда пин нужно переключить и состояние его известно (запись в PIN быстрее или равна по скорости).
Бывают ситуации когда состояние нужного пина известно, а остальных нет (запись в PIN быстрее).
Бывают ситуации, когда надо одновременно переключить два пина в противоположенных направлениях (запись в PIN быстрее).
:)))
Так что давайте свои тезисы в тактах , поржём
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

Сообщение Pnjom-Penb »

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

Что ж, "мамы всякие нужны, мамы всякие важны", как сказал директор школы... :)))
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Сообщения: 439
Зарегистрирован: Ср сен 02, 2015 07:47:20

Сообщение HardWareMan »

ILYAUL писал(а):
Бывают ситуации когда состояние пина не важно, а важен именно факт переключения (запись в PIN быстрее).
Так чем быстрее то SBI PINx,{EQ от SBI PORTx,YF{EQ
Чукча читатель, не пейсатель. SBI работает с одним битом. Тогглинг позволяет изменить от 1 до 8 бит за одну команду (но, ессно, не установка/сброс бита а изменение его состояния на противоположное). Например: если PORTx был 0х00, то OUT PINx,0xC3 будет эквивалентен 4(!) командам SBI для битов 0,1,6 и 7. При этом он не затрагивает состояние остальных битов (2,3,4 и 5), в отличии от команды OUT PORTx,0xC3. Так понятнее? В общем, тогглинг поможет, например, в многоканальном программном ШИМе.
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Ну для писателей чукч , сначала внимательно читаем пост ищем выделенное слово и только потом несём пургу
Реклама
Мучитель микросхем
Сообщения: 439
Зарегистрирован: Ср сен 02, 2015 07:47:20

Сообщение HardWareMan »

ILYAUL писал(а):Ну для писателей чукч , сначала внимательно читаем пост ищем выделенное слово и только потом несём пургу
Пурга в том, что нужно использовать команду OUT с портом PINx, а не:
ILYAUL писал(а):Так чем быстрее то SBI PINx,{EQ от SBI PORTx,YF{EQ
И заточена она под групповое изменение а не точечное.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Бывают ситуации когда состояние пина не важно, а важен именно факт переключения (запись в PIN быстрее).
Пурга в том, что нужно
Что Вам нужно сначала изучить команды
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Сообщение Андрей СШ »

ILYAUL писал(а):Так чем быстрее то SBI PINx,{EQ от SBI PORTx,YF{EQ
Оба варианта одинаковы по скорости, но второй не будет работать в отличие от первого.

Скорость в остальных случаях посчитаем после того как с этим разберёмся.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Андрей СШ писал(а):
ILYAUL писал(а):Так чем быстрее то SBI PINx,{EQ от SBI PORTx,YF{EQ
Оба варианта одинаковы по скорости, но второй не будет работать в отличие от первого.
Аргументируйте
Мучитель микросхем
Сообщения: 439
Зарегистрирован: Ср сен 02, 2015 07:47:20

Сообщение HardWareMan »

ILYAUL писал(а):
Бывают ситуации когда состояние пина не важно, а важен именно факт переключения (запись в PIN быстрее).
Пурга в том, что нужно
Что Вам нужно сначала изучить команды
Симметрично.

Становится скучно, предложите что-то более интересное.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Вас никто не держит , тем более Вы не в теме
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Сообщение Андрей СШ »

Чего тут аргументировать.

SBI PIN - переключит ногу

SBI PORT - включит ногу если была выключена и ничего не сделает если включена. При повторных вызовах делать ничего не будет.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

А то есть изначально Вам надо было ее выключить? Или Вы просто начинаете вилять , когда Вам предложили Ваше "быстрее " считать в тактах
Хорошо ЧТО БЫСТРЕЕ SBI PINX,{EQ или СBI PORTx,YF{EQ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Сообщение Андрей СШ »

Читайте условие задачи внимательнее.

Ногу нужно переключить в противоположенное состояние, а не включить или выключить.
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Да виляете.
TC уже наелся Toggling теперь будет писать программы которые будут работать всегда и везде. Я в свое время тоже. Удачи Вам в использовании .
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Сообщение Андрей СШ »

О чём можно спорить если Вы не только не можете оценить эквивалентность кода, но и условие задачи, изложенное в одной строчке понять не в состоянии.
Друг Кота
Аватара пользователя
Сообщения: 15667
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Ндяяааа...
пресловутый троллинг для всех линий порта появился скорее всего как следствие оптимизации кристалла с переносом части функционала формирователей выходного ШИМ сигнала из области таймер- счетчиков в область выходных линий портов как универсальная мера по наращиванию альтернативных функций "навырост", а не для облегчения жизни программистов.
Без імені.gif
(5.21 КБ) 401 скачивание
это два варианта из одной и той же 2313А, только правый исходный с "альтернативной" функциональной основой, а левый как "технологическая производная" для "стандартного" исполнения.
Основная задача - обеспечение высокоскоростных аппаратных режимов для выходов вида OCnx с возможностью их будущего перемещения/"размножения" (аналогия силабсовской "матрицы соединений").
Чего касательно быстродействия программных формирователей импульсов (при наличии в структуре МК достаточного количества аппаратных средств с гораздо большим быстродействием) то вполне достаточно поднять частоту базового RC генератора на максимальное значение чтоб удовлетворить большинство визуальных (для светодиодов) и аудио приложений.
Тут уж абсолютный простор для творчества - кому чего приятнее (при условии полного изучения конфигурации конкретной ИС и одновременном головняке переноса аппаратно-привязанных программных трюков на и без того достаточно семейственно-ориентированном языке ассемблера).
:beer:
Держит паяльник хвостом
Аватара пользователя
Сообщения: 906
Зарегистрирован: Ср мар 28, 2012 21:45:24
Откуда: ВО

Сообщение ILYAUL »

Андрей СШ писал(а):О чём можно спорить если Вы не только не можете оценить эквивалентность кода, но и условие задачи, изложенное в одной строчке понять не в состоянии.
С Вами уж точно не о чем . Тк. Вы виляете как угорь на сковородке и так и не смогли и НЕ СМОЖИТЕ подтвердить свои НЕЛЕПЫЕ ( а точнее тупые ) тезисы
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Сообщение Андрей СШ »

BOB51 писал(а):это два варианта из одной и той же 2313А
Вроде запись в PIN есть в обоих вариантах.
BOB51 писал(а):аналогия силабсовской "матрицы соединений"
в XMega реализовано.
BOB51 писал(а):вполне достаточно поднять частоту базового RC генератора
Иногда, да но чаще нет.
Подъём частоты увеличивает потребление энергии, а запись в PIN ускоряет почти бесплатно (но не всегда).
Подъём частоты и запись в PIN это всё равно быстрее чем просто подъём частоты.
Да и с аппаратным шимом всё не так просто. То каналов нехватает, то ноги ШИМ не с той стороны торчат.
Ответить

Вернуться в «AVR»