Запись в PINX
Запись в PINX
Надеюсь, ссылки на дружественные форумы ( не конкуренты ) не запрещены? Тем более - своё же собственное сообщение.
Вот консультировал человека, но сам потом засомневался.
https://programmersforum.ru/showthread. ... ost1866507
Ведь не приснилось же мне такое? Есть такая фича? Т.е. это включение-отключение подтяжки?
Вот консультировал человека, но сам потом засомневался.
https://programmersforum.ru/showthread. ... ost1866507
Ведь не приснилось же мне такое? Есть такая фича? Т.е. это включение-отключение подтяжки?
- Реклама
Re: Запись в PINX
Подтяжка вкл записью в PORT, при 0 в DDR. PIN только для чтения.
ps: почитал по ссылке сообщение от digitalis, интересно стало. Завтра в железе попробую.
ps: почитал по ссылке сообщение от digitalis, интересно стало. Завтра в железе попробую.
Re: Запись в PINX
Так запись в бит PIN.bit единицы приводит к инверсии состояния этого вывода...
Это для большинства АВРок справедливо... (режим toggling the pin)
А относительно "подтяжки"... так там еще в одном регистре надо флажок ее активации установить (к примеру у тинек 13/2313 это PUD =0 в MCUCR)...

Исправил досадну очепятку...
Шклерозь однако... (Прот PIB)...

Это для большинства АВРок справедливо... (режим toggling the pin)
А относительно "подтяжки"... так там еще в одном регистре надо флажок ее активации установить (к примеру у тинек 13/2313 это PUD =0 в MCUCR)...
Исправил досадну очепятку...
Шклерозь однако... (Прот PIB)...
Последний раз редактировалось BOB51 Пт июн 28, 2024 08:35:48, всего редактировалось 1 раз.
- >TEHb<
- Друг Кота
- Сообщения: 5742
- Зарегистрирован: Ср ноя 11, 2009 17:19:30
- Откуда: Воронеж
- Контактная информация:
Re: Запись в PINX
Разве? Вроде наоборот, установка единицы подтяжку выключает. Потому оно и называется Pull Up Disable.
"Привет!" - соврал он.
Re: Запись в PINX
[uquote=">TEHb<",url="/forum/viewtopic.php?p=4595782#p4595782"]Разве? Вроде наоборот, установка единицы подтяжку выключает. Потому оно и называется Pull Up Disable.[/uquote]
Так и есть, на всем МК подтяжку отключает.
Так и есть, на всем МК подтяжку отключает.
В PIN.BOB51 писал(а): запись в бит PORT.bit единицы приводит к инверсии состояния этого вывода...
- Реклама
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Запись в PINX
не для всех АВРок, у АТмега8 такой функции нет.BOB51 писал(а):Так запись в бит PORT.bit единицы приводит к инверсии состояния этого вывода...
Это для большинства АВРок справедливо... (режим toggling the pin)
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Re: Запись в PINX
[uquote="Игорь_396",url="/forum/viewtopic.php?p=4595791#p4595791"]В PIN.[/uquote]
Starichok51 так я же и говорил:
Запись 1 в бит PORTа эту единицу в нём и устанавливает, пиши её хоть сто раз. А вот Т-триггерный режим порта вывода реализован парадоксальным образом: записью в регистр ввода, к выводу, казалось бы, отношения не имеющего."Вот иманно!" © Хрюн Моржов
Starichok51 так я же и говорил:
(у более новых)
Re: Запись в PINX
По мне, очень полезная фишка. В DS приводится использование команды SBI для переключения одного бита, но никто не запрещает работать командой OUT PINx,R.

- Вложения
-
- PINx.PNG
- (26.21 КБ) 269 скачиваний
Re: Запись в PINX
Для АВРок с такой организацией портов нет разницы между прямым выводом 1 в регистр PINx и командой SBI PINx.X.
Единственно что при SBI модифицируется только один бит (вывод) порта, а при OUT PINx,Rn все биты, где в Rn была 1.
И да... надо в каждом конкретном случае смотреть документацию МК насчет данного исключения.

Единственно что при SBI модифицируется только один бит (вывод) порта, а при OUT PINx,Rn все биты, где в Rn была 1.
И да... надо в каждом конкретном случае смотреть документацию МК насчет данного исключения.
-
Demiurg
- Это не хвост, это антенна
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
- Контактная информация:
Re: Запись в PINX
Начиная с определенных моделей (лень уточнять). Запись в PINX меняет состояние порта. Не подтяжки. Отсюда появилась этакая оптимизация. Когда можно менять переключать состояние порта.
Если DDRX не трогаем. А меняем PINX. Тогда да. Условно, если порт переключился в единицу. То типа да. Включили подтяжку. То есть. DDRX равен нулю. PORTX переключился в единицу. То да. Условно сыграли подтяжкой.
Если DDRX не трогаем. А меняем PINX. Тогда да. Условно, если порт переключился в единицу. То типа да. Включили подтяжку. То есть. DDRX равен нулю. PORTX переключился в единицу. То да. Условно сыграли подтяжкой.
Re: Запись в PINX
[uquote="Demiurg",url="/forum/viewtopic.php?p=4597173#p4597173"]Не подтяжки.
........
Условно сыграли подтяжкой.[/uquote]
Хороший пост. С внутренним противоречием. Железу, подключённому к пину, по-моему, глубоко до лампочки - условно там подтяжка вкл.-откл. или безусловно. Она есть - или её нет. И точка .
........
Условно сыграли подтяжкой.[/uquote]
Хороший пост. С внутренним противоречием. Железу, подключённому к пину, по-моему, глубоко до лампочки - условно там подтяжка вкл.-откл. или безусловно. Она есть - или её нет. И точка .
-
Demiurg
- Это не хвост, это антенна
- Сообщения: 1480
- Зарегистрирован: Ср июн 25, 2008 15:19:44
- Контактная информация:
Re: Запись в PINX
Никаких внутренних противоречий. Если DDRX равен 1 играем, то при записи в PINX играем состоянием PORTX. Верхними и нижними транзисторами. Если DDRX равен 0. То играем только транзистором подтяжки.
Re: Запись в PINX
Интересно. Зачем так. Писать. Это типа. Я один такой. Оригинальный.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com



