본문 바로가기

[STM32F746G-DISCO] USB 키보드/마우스 사용하기 (Host Mode)

by rudals.kim 2024. 7. 18. 댓글 개
반응형
아래 테스트는 STM32CubeIDE 1.6.1/STM32Cube_FW_F7_V1.16.1를 사용하여 테스트 되었습니다.


STM32F746G-DISCO 보드에는 USB FS 커넥터에 키보드와 마우스를 연결하여 USB Host 모드를 테스트해 보았습니다.
(테스트는 STM32Cube_FW_F7_V1.16.1/Projects/STM32746G-Discovery/Applications/USB_Host/HID_Standalone 예제를 참고하여 작성되었습니다.)

새 프로젝트를 생성하여 핀 초기화 후 DMA2D/FMC/GPIO/LTDC/RCC/SYS/USART1/USB_HOST/USB_OTG_FS를 설정하였습니다. (LCD_Log를 사용하여 LCD 관련 설정이 필요합니다.)

USB HOST의 HID 관련 설정은 아래와 같이 설정하였습니다.

예제를 참고하여 keyboard.c , mouse.c , menu.c 를 재사용하였습니다.

STMCubeMX를 사용하여 USB_HOST를 작성하면 USB_HOST/Target/usbh_conf.c 파일이 자동 생성되는데 예제는 src/usb_conf.c에 있습니다. 2개의 파일을 비교하여 적용하시면 됩니다.

예제를 참고하여 비교/적용하시면 큰 무리 없이 프로젝트를 작성할 수 있습니다.
빌드하여 실행해 보면 아래와 같은 화면이 나옵니다.


1. HID 마우스 연결

CN13(USB_FS) 커넥터 단자에 OTG 젠더를 사용하여 마우스를 연결해 보았습니다.

마우스의 기본정보가 표시되며 USER 버튼을 누르면 데모를 시작할 수 있습니다.

마우스를 이동시키면 가운데 녹색 마커가 마우스를 따라 이동되며 버튼 클릭 시 아래 3개의 사각형이 버튼 위치에 맞춰서 색상이 토글 됩니다.


2. HID 키보드 연결

CN13(USB_FS) 커넥터 단자에 OTG 젠더를 사용하여 키보드를 연결해 보았습니다.

키보드의 기본정보가 표시되며 USER 버튼을 누르면 데모를 시작할 수 있습니다.

키보드를 입력하면 입력된 문자가 표시됩니다.

USB Host Mode에서 HID 키보드/마우스를 사용해 보았습니다. 정상적으로 잘 인식됩니다.

만약 HID 장치를 연결시켰는데 연결/해제가 반복되면서 인식이 안 되는 경우 전원 관련 문제일수도 있으니 아래 전원관련 게시글을 참고하시기 바랍니다.

2024.07.06 - [Hardware/STM32] - [STM32F746G-DISCO] 외부 전원 사용 및 ST-Link 연결법

 

반응형

댓글