Запись в PINX

Обсуждаем контроллеры компании Atmel.
Ответить
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Запись в PINX

Сообщение Jack_A »

Надеюсь, ссылки на дружественные форумы ( не конкуренты ) не запрещены? Тем более - своё же собственное сообщение.
Вот консультировал человека, но сам потом засомневался.
https://programmersforum.ru/showthread. ... ost1866507
Ведь не приснилось же мне такое? Есть такая фича? Т.е. это включение-отключение подтяжки?
Изображение
Реклама
Игорь_396
Встал на лапы
Сообщения: 102
Зарегистрирован: Ср дек 25, 2019 21:17:31
Откуда: Саратов

Re: Запись в PINX

Сообщение Игорь_396 »

Подтяжка вкл записью в PORT, при 0 в DDR. PIN только для чтения.
ps: почитал по ссылке сообщение от digitalis, интересно стало. Завтра в железе попробую.
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15571
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Запись в PINX

Сообщение BOB51 »

Так запись в бит PIN.bit единицы приводит к инверсии состояния этого вывода...
Это для большинства АВРок справедливо... (режим toggling the pin)
А относительно "подтяжки"... так там еще в одном регистре надо флажок ее активации установить (к примеру у тинек 13/2313 это PUD =0 в MCUCR)...
:roll:
Исправил досадну очепятку...
Шклерозь однако... (Прот PIB)...
:oops:
Последний раз редактировалось BOB51 Пт июн 28, 2024 08:35:48, всего редактировалось 1 раз.
Аватара пользователя
>TEHb<
Друг Кота
Сообщения: 5742
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж
Контактная информация:

Re: Запись в PINX

Сообщение >TEHb< »

Разве? Вроде наоборот, установка единицы подтяжку выключает. Потому оно и называется Pull Up Disable.
"Привет!" - соврал он.
Реклама
Эиком - электронные компоненты и радиодетали
Игорь_396
Встал на лапы
Сообщения: 102
Зарегистрирован: Ср дек 25, 2019 21:17:31
Откуда: Саратов

Re: Запись в PINX

Сообщение Игорь_396 »

[uquote=">TEHb<",url="/forum/viewtopic.php?p=4595782#p4595782"]Разве? Вроде наоборот, установка единицы подтяжку выключает. Потому оно и называется Pull Up Disable.[/uquote]
Так и есть, на всем МК подтяжку отключает.
BOB51 писал(а): запись в бит PORT.bit единицы приводит к инверсии состояния этого вывода...
В PIN.
Реклама
Аватара пользователя
Starichok51
Модератор
Сообщения: 19053
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: Запись в PINX

Сообщение Starichok51 »

BOB51 писал(а):Так запись в бит PORT.bit единицы приводит к инверсии состояния этого вывода...
Это для большинства АВРок справедливо... (режим toggling the pin)
не для всех АВРок, у АТмега8 такой функции нет.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Запись в PINX

Сообщение Jack_A »

[uquote="Игорь_396",url="/forum/viewtopic.php?p=4595791#p4595791"]В PIN.[/uquote]
"Вот иманно!" © Хрюн Моржов
Запись 1 в бит PORTа эту единицу в нём и устанавливает, пиши её хоть сто раз. А вот Т-триггерный режим порта вывода реализован парадоксальным образом: записью в регистр ввода, к выводу, казалось бы, отношения не имеющего.
Starichok51 так я же и говорил:
(у более новых)
Изображение
akl
Друг Кота
Сообщения: 4445
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Запись в PINX

Сообщение akl »

По мне, очень полезная фишка. В DS приводится использование команды SBI для переключения одного бита, но никто не запрещает работать командой OUT PINx,R.
Изображение
Вложения
PINx.PNG
(26.21 КБ) 269 скачиваний
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15571
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Запись в PINX

Сообщение BOB51 »

Для АВРок с такой организацией портов нет разницы между прямым выводом 1 в регистр PINx и командой SBI PINx.X.
Единственно что при SBI модифицируется только один бит (вывод) порта, а при OUT PINx,Rn все биты, где в Rn была 1.
И да... надо в каждом конкретном случае смотреть документацию МК насчет данного исключения.
:roll:
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: Запись в PINX

Сообщение Demiurg »

Начиная с определенных моделей (лень уточнять). Запись в PINX меняет состояние порта. Не подтяжки. Отсюда появилась этакая оптимизация. Когда можно менять переключать состояние порта.
Если DDRX не трогаем. А меняем PINX. Тогда да. Условно, если порт переключился в единицу. То типа да. Включили подтяжку. То есть. DDRX равен нулю. PORTX переключился в единицу. То да. Условно сыграли подтяжкой.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Запись в PINX

Сообщение Jack_A »

[uquote="Demiurg",url="/forum/viewtopic.php?p=4597173#p4597173"]Не подтяжки.
........
Условно сыграли подтяжкой.[/uquote]
Хороший пост. С внутренним противоречием. Железу, подключённому к пину, по-моему, глубоко до лампочки - условно там подтяжка вкл.-откл. или безусловно. Она есть - или её нет. И точка .
Изображение
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: Запись в PINX

Сообщение Demiurg »

Никаких внутренних противоречий. Если DDRX равен 1 играем, то при записи в PINX играем состоянием PORTX. Верхними и нижними транзисторами. Если DDRX равен 0. То играем только транзистором подтяжки.
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3483
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: Запись в PINX

Сообщение smacorp »

Интересно. Зачем так. Писать. Это типа. Я один такой. Оригинальный.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Ответить

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