Arduinos에서 작업 중이며 인터럽트를 사용하여 로터리 엔코더을 사용하고 싶습니다. 하지만 인터럽트 코드를 최소화하고 싶습니다.Arduino에서 한 번의 중단으로 여러 번 트리거
단일 인터럽트에서 여러 트리거를 사용할 수 있습니까?
내 실제 코드를 replcace 싶습니다 :
attachInterrupt(0, FailingA, FAILING);
attachInterrupt(0, RisingA, RISING);
이 가능
같은 것으로attachInterrupt(0, ChangeA, CHANGE);
를?
사용자가 사용하는 로터리 엔코더 (예 : 입력 주변 장치, 노브) 또는 모터입니까? 그리고 결과적으로 핀에서 얻을 수있는 최대 주파수는 얼마입니까? 그리고 여기에 마지막으로 그리고 가장 중요한 질문이 있습니다. 당신은이 코드를 인터럽트로 구현해야합니까? 너무 빠르고 중요해서 처리하기 위해 인터럽트가 필요합니까? 주파수가 100Hz보다 낮 으면 아마도 소프트웨어 (폴링)로 처리하는 것이 낫습니다 ... – frarugi87
흠 ... 죄송 합니다만 2 개의 로터리 엔코더가 있습니다 ... 각각 1024 개의 틱이 있습니다. . 그것은 초당 2 회전 (40cm/s)을 의미하는데, 나는 8000 개의 인터럽트를 가지고 있습니다 ... 8kHz는 소프트웨어로 처리하기에는 너무 많습니다! (이건 내가이 Arduino에서해야 할 유일한 것이 아니다.) –