Страница 1 из 1

PCF8574 работа с INT

Добавлено: Вт апр 04, 2023 13:03:07
Di123
подскажите когда следует использовать выход INT
в интернете пишут что
Использование прерываний
При изменении физического состояния входа состояние внутреннего регистра может и не соответствовать текущему состоянию входов - состояние регистра обновляется только во время обмена данными с мастером. Но если напряжение на входе отличается от состояния внутреннего регистра, генерируется сигнал прерывания для микроконтроллера.

Вывод прерывания INT может быть подключен к GPIO микроконтроллера для уведомления микроконтроллера о том, что состояние входных портов расширителя изменилось. Получив этот сигнал прерывания, ваш микроконтроллер должен заново считать состояние регистра PCF8574 и самостоятельно определить, на каких входах изменился уровень. Во время обмена данными по шине в регистр будет записано текущее состояние входов и всё придет в соответствие до следующего изменения. Разумеется, для того, чтобы определить на каких выводах произошли изменения после последнего чтения, придется где-то хранить последнее считанное состояние на стороне MCU, как как чтение регистра вернет состояние всех выводов, а не только тех, которые были изменены.
если речь идёт об кнопках то в схемах с кнопками он тоже не участвует
если речь идёт об в целом изменении пина без ведома контролера то не понятно как он может его поменять без команды даже если ребутнуть микруху то там нет хаотичного выстраивания как в 595

я просмотрел много схем и он посути везде болтается в воздухе

Re: PCF8574 работа с INT

Добавлено: Вт апр 04, 2023 13:26:29
КРАМ
[uquote="Di123",url="/forum/viewtopic.php?p=4396065#p4396065"]если речь идёт об в целом изменении пина без ведома контролера то не понятно как он может его поменять без команды[/uquote]
А ничего, что порт ДВУНАПРАВЛЕННЫЙ? Речь идет об изменении ВХОДНЫХ, а не выходных сигналов на чипе...

Re: PCF8574 работа с INT

Добавлено: Вт апр 04, 2023 13:48:27
Di123
если он нужен для кнопок то в схеме он тоже не участвует

Изображение

Добавлено after 1 minute 14 seconds:
я пробовал подключать кнопки и там без него всё прекрасно работает

Re: PCF8574 работа с INT

Добавлено: Вт апр 04, 2023 14:07:14
КРАМ
У вас частная задача, в которой чтение входов является синхронным. А есть куча задач, где нужно фиксировать асинхронное изменение состояния порта....

Re: PCF8574 работа с INT

Добавлено: Вт апр 04, 2023 14:13:23
tonyk
Di123 писал(а):я пробовал подключать кнопки и там без него всё прекрасно работает
Только для этого приходится постоянно сканировать состояния кнопок, а с прерыванием вы будете его получать только при изменении уровня сигнала на входе расширителя, что избавит процессор от тупого сканирования. Получили прерывание- прочитали изменившиеся состояния сигналов.

Re: PCF8574 работа с INT

Добавлено: Вт апр 04, 2023 14:23:37
КРАМ
[uquote="tonyk",url="/forum/viewtopic.php?p=4396124#p4396124"]для этого приходится постоянно сканировать[/uquote]
А иначе от дребезга не защититься.

Re: PCF8574 работа с INT

Добавлено: Вт апр 04, 2023 14:52:20
OKF
[uquote="Di123",url="/forum/viewtopic.php?p=4396099#p4396099"]если он нужен для кнопок то в схеме он тоже не участвует[/uquote]
Если хочется экономии, что можно и одним PCF-ом обойтись.

Re: PCF8574 работа с INT

Добавлено: Вт апр 04, 2023 15:29:36
veso74
После того, как событие произошло (есть INT), сканируете клавиатуру обычным способом. Затем можете включить и debounce. Просто не будет постоянное сканирование клавиатуры со всеми вытекающими из этого преимуществами (за счет еще одного используемого вывода МК).