Один сигнал и два прерывания.

Eugene_K
Offline
Зарегистрирован: 31.01.2016

Можно ли подать один сигнал (сторонний) сразу на два цифровых входа (2,3 пин)?

Нужно реализовать две функции вызываемые одна при рэйзинге другая при фолинге.

 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Eugene_K пишет:
Можно ли подать один сигнал (сторонний) сразу на два цифровых входа (2,3 пин)?

Нужно реализовать две функции вызываемые одна при рэйзинге другая при фолинге.

Можно. Логичнее в прерывании по изменению опросить этот вход и выполнить ту или иную функцию.

Eugene_K
Offline
Зарегистрирован: 31.01.2016

Andy пишет:

Можно. Логичнее в прерывании по изменению опросить этот вход и выполнить ту или иную функцию.

а как в функции понять подъем это или спад?

 

(вообще почему я спрашиваю это не спалю ли я входы если замкну их)

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

Eugene_K пишет:
а как в функции понять подъем это или спад?

Как бы если 0, то значит до этого была 1, значит спад и наоборот.

Eugene_K пишет:
(вообще почему я спрашиваю это не спалю ли я входы если замкну их)

Так ведь это входы, можно все входы вместе соединить.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Не нужны там два пина. Можно настроить один пин на смену уровня (CHANGE). А потом считать пин и проверить, как изменился логический уровень.

Eugene_K
Offline
Зарегистрирован: 31.01.2016

Andy пишет:

Как бы если 0, то значит до этого была 1, значит спад и наоборот.

чекать состояние входа?

Eugene_K
Offline
Зарегистрирован: 31.01.2016

Jeka_M пишет:

Не нужны там два пина. Можно настроить один пин на смену уровня (CHANGE). А потом считать пин и проверить, как изменился логический уровень.

так вроде медленнее, лишние проверки...

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

уж не длительность импульса измеряешь?

MacSim
Offline
Зарегистрирован: 28.11.2012

Eugene_K пишет:

Jeka_M пишет:

Не нужны там два пина. Можно настроить один пин на смену уровня (CHANGE). А потом считать пин и проверить, как изменился логический уровень.

так вроде медленнее, лишние проверки...

Медленнее чем что? Объеденив два инта, Вы думаете прерывания будут бежать впереди друг друга?

Eugene_K
Offline
Зарегистрирован: 31.01.2016

jeka_tm пишет:

уж не длительность импульса измеряешь?

в том числе

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

опиши что хочешь сделать, только как есть. вроде как велосипед изобретаешь

Eugene_K
Offline
Зарегистрирован: 31.01.2016

jeka_tm пишет:

опиши что хочешь сделать, только как есть. вроде как велосипед изобретаешь

Госпади, чего на ардуино можно изобрести-то? ))

 

Жека, частота прерываний конечная (4 мкс) или можно как-то ускорить? 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

))) фантазией обделен?

врядли

Eugene_K
Offline
Зарегистрирован: 31.01.2016

jeka_tm пишет:

врядли

А если слушать порт циклом?... это конечно не совсем удобно, но скорость может быть выше?

Может можно как-то на ассемблере поколдовать, только там такой ассемблер в котором я ничего не понимаю.

https://sites.google.com/site/vanyambauseslinux/arduino/arduino-assemble...

 

 

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Eugene_K, какая у вас задача то, надеюсь не велосипед частотомер изобретаете? :)

Eugene_K
Offline
Зарегистрирован: 31.01.2016

dimax пишет:

Eugene_K, какая у вас задача то, надеюсь не велосипед частотомер изобретаете? :)

нет

но исходники бы пригодились