프로그램 돌아가는 꼴을 보면

main 함수의 무한루프에 usbtask 가 폴링되는 방식입니다.

그 중에 ProcessIO()가 있구요.

ProcessIO() 함수 안에 Joystick()함수가 있습니다.

Joystick()함수에서 조이스틱의 버튼 눌림을 검출하여  

lastTransmission = HIDTxPacket(HID_EP, (BYTE*)&joystick_input, sizeof(joystick_input));
를 통해 호스트에 해당 패킷을 쏴줍니다.




데모보드는 버튼이 하나밖에 없습니다.

단순하게 Joystick()함수를 수정하면 추가적인 버튼 검출이 될 줄 알았습니다.
 
하지만 이런 방식으론 버튼 하나가 눌린 상태에선 다른 버튼을 검출하지 못하는 현상이 있었네요.



main에 Joystickbutton2() 이런 식으로 task를 추가함으로써 추가적인 버튼 검출이 가능할 것 같습니다.

퇴근하면 실험해봐야지 ㅎㅎㅎ

Posted by 공돌이pooh
,