키패드를 stm32f429i 보드에 인터페이스하고 보드의 LCD 화면에 키패드의 각 버튼을 표시 할 수 있습니다. 짧은 언론은 잘 작동하지만 긴 프레스 키 이벤트를 구현하는 방법을 모릅니다. 누군가 나를 도울 수 있습니까?keil을 사용하여 stm32f429i 검색 보드에 키 이벤트를 길게 구현하는 방법은 무엇입니까?
0
A
답변
0
0
편집 : suggested by PeterJ_01으로, 타이머 인터럽트를 사용하는 가장 우아한 방법은 다음 링크 라이브러리입니다. 버튼에 GPIO 인터럽트를 사용하지 마십시오! 당신이 Hardware Abstraction Layer (HAL) 라이브러리를 사용하는 경우
, 당신은 당신의 GPIO 인터럽트 내부에이 같은 작업을 수행 할 수 있습니다
static int timestamp_pressed = -1; // -1 means not pressed
if (timestamp_pressed == -1) {
// user just pressed the button
timestamp_pressed = HAL_GetTick(); // milliseconds since startup
} else if (HAL_GetTick() - timestamp_pressed > 2000) {
// 2000 milliseconds = 2 seconds are over
// << your code
timestamp_pressed = -1;
}
당신은 HAL을 사용하지 않는 및 일반 타이머 인터럽트를 사용하지 않을 경우 (에서 TIM1, TIM2, TIM3, ...)은 SysTick 타이머 사용을 고려할 수 있습니다 (인터럽트 또는 미사용). 인터넷에 관한 많은 정보가 있습니다.)
관련 문제
- 1. 키패드를 STM32F429I DISC0에 인터페이스하는 방법은 무엇입니까?
- 2. C에서 키 누름 이벤트를 사용하여 키 로거를 구현하는 방법
- 3. 맞춤 이벤트를 구현하는 방법은 무엇입니까?
- 4. vb6에서 이벤트를 구현하는 방법은 무엇입니까?
- 5. 사용자 정의 검색 상자에서 키 이벤트를 사용하는 방법은 무엇입니까?
- 6. 검색 기능을 구현하는 방법은 무엇입니까?
- 7. casperjs/phantomjs에서 "길게 누르기"(길게 누름) 키 동작을 시뮬레이트하는 방법은 무엇입니까?
- 8. ScrollView에서 onScroll 이벤트를 구현하는 방법은 무엇입니까?
- 9. 자바 스크립트에서 맞춤 이벤트를 구현하는 방법은 무엇입니까?
- 10. phonegap android에서 길게 누르는 이벤트를 만드는 방법은 무엇입니까?
- 11. 검색 양식을 구현하는 좋은 방법은 무엇입니까?
- 12. 수동보기에서 이벤트를 구현하는 좋은 방법은 무엇입니까?
- 13. CustomLabel 컨트롤에서 클릭 이벤트를 구현하는 방법은 무엇입니까?
- 14. backbonejs에서 터치 이벤트를 구현하는 방법은 무엇입니까?
- 15. TFileListBox에 OnSelectionChanged 이벤트를 구현하는 방법은 무엇입니까?
- 16. 잡는 방법 cocos2d-x에서 키 보드 이벤트를 길게 누르십니까?
- 17. MVVM을 사용하여 wpf에서 제어 이벤트를 구현하는 방법은 무엇입니까?
- 18. JQuery 모바일을 사용하여 JQuery에서 onkeyup 이벤트를 구현하는 방법은 무엇입니까?
- 19. Firebase를 사용하여 IOS에서 서버 보낸 이벤트를 구현하는 방법은 무엇입니까?
- 20. Android에서 검색 기능을 구현하는 방법은 무엇입니까?
- 21. 검색 길게 twilio
- 22. Android에 키 - 값이있는 Spinner를 구현하는 방법은 무엇입니까?
- 23. PyGame으로 키 입력을 구현하는 방법은 무엇입니까?
- 24. 두 테이블에서 검색 쿼리를 구현하는 방법은 무엇입니까?
- 25. GDK로 키 이벤트를 시뮬레이트하는 방법은 무엇입니까?
- 26. Android에서 키 누르기 이벤트를 발생시키는 방법은 무엇입니까?
- 27. XCB를 사용하여 응용 프로그램에 키 이벤트를 보내는 방법은 무엇입니까?
- 28. jquery를 사용하여 키 누르기 이벤트를 수동으로 추가하는 방법은 무엇입니까? 여기
- 29. 키 이벤트를 캡처하는 방법
- 30. sonarqube 대시 보드에 프로젝트 키 값을 추가하는 방법은 무엇입니까?
EXTI 인터럽트 버튼 사용은 큰 실수이며 피해야합니다. –
그 이유는 무엇입니까? 접촉이 바운스 되었기 때문에? 그렇다면 디버그 시간 동안 인터럽트에서 프로그램 실행을 차단해야하기 때문에 – MemAllox
과 같은 방식으로 해결할 수 없습니까? 타이머 인터럽트를 사용해야합니다. –