본문 바로가기

[INTERFACE]/USB

(39)
[USB HID] 디바이스 드라이버 초기화 않되는 문제 발생 [myUSB-Sensor] 어떤 PC(HP)에서 디바이스 드라이버 초기화 않되는 문제 발생 HID_FindTheHID()함수에서 Create()함수 옵션 설정수정(GENERIC_WRITE만으로 설정) 하니 정상 동작한다. //Open a handle to the device. m_DeviceHandle=CreateFile (m_detailData->DevicePath, GENERIC_WRITE, //GENERIC_READ FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
[TUSB3210 EVM] USB 전송 테스트 [TUSB3210 EVM] USB 전송 테스트 USB테스트 할 일이 있어 [TUSB3210 EVM] 보드를 꺼내서 예전해 테스트했던 USB전송 테스트 프로그램을 정리했다. USB기능이 있는 소형 [ PIC18F2450 EVM ]보다는 상당히 구식이지만... MCU자체 USB로 다운로드 가능하므로 개발환경이 상당히 간단해 빨리 테스트 하기에는 상당히 편리하다. 테스트 동영상
[ATmega8-s EVM] USB HID Keyboard 예제 작성 [ATmega8-s EVM] USB HID Keyboard 예제 작성 [AVR-USB 소프트웨어 스텍] 을 이용하여 USB키보드를 제작해 보았다. ATmega8 보드에 USB를 연결하면 장치관리자에 "HID 키보드 장치"로 인식되는 것을 확인할 수 있다. Keyboard 처리 KEY_DATA_REPORT m_KeyBuffer[NUM_KEYS + 1] = { {0, 0}, // no key pressed {MOD_SHIFT_LEFT, KEY_1}, {MOD_SHIFT_LEFT, KEY_2}, }; void ProcessKeyboard(void) { if(!(ReadKey() & SW1_VALUE)) { if(!m_SwFlag[0]) { //Key Press m_SwFlag[0] = 1; Led1On(); ..
[Mega8-s EVM] USB를 이용한 LED제어 - 호스트프로그램 작성 [Mega8-s EVM] USB를 이용한 LED제어 - 호스트프로그램 작성 VB 소스코드 VB를 이용하여 Mega8 USB보드의 LED를 제어하는 소프트웨어를 작성해 보았다. 예전 USB2Serial 예제를 그대로 사용하기 위해 최대한 간단하게 작성했다 예전 프로그램을 약간 수정하여 보레이트는 9600으로 설정하고 PORT는 콤보박스의 설정에 따라 초기화 할 수 있도록 하였다. 'com포트 열기 MSComm1.Settings = "9600,n,8,1" MSComm1.CommPort = m_ComPort MSComm1.PortOpen = True 프로그램 실행 USB를 이용한 atMega8 보드의 LED제어를 위한 호스트 프로그램 실행 테스트 동영상
[Mega8-s EVM] USB를 이용한 LED제어 - 펌웨어 작성 [Mega8-s EVM] USB를 이용한 LED제어 - 펌웨어 작성 AVR-USB CDC I/O 의 참고 예제 소스를 이용해 AVR을 이용한 USB를 테스트 했다. atMega8만을 이용하여 소프트웨어로 USB스텍을 처리 하기 때문에 속도 자체는 빠르지 않지만 저렴하고 간단하게 USB구현 하기에 상당히 좋은것 같다. 소스코드 테스트 예제는 이해를 위해 상당히 간단하게 작성했고 PC시리얼 포트로 전동되는 문자 "1", "2", "3", "4"에 따라 보드에 있는 LED를 제어할 수 있도록 구성하였다. USB Serial포트로 데이터가 전송되면 usb_cdc_rcv()함수가 수행되며, data를 받아서 처리하면 된다. usb_cdc_rcv //------------------------------------..
[Mega8-s EVM] USB CDC를 이용한 보드 제어 - 드라이버 인식 [Mega8-s EVM] USB CDC를 이용한 보드 제어 [Mega8-s EVM]을 이용하여 CDC(USB2Serial) 테스트 프로그램을 작성해 보았다. 에서 참고한 소스를 수정 하였는데... 처음에는 정상 동작하지 않았다. USB D+, D- 포트 핀 설정을 내 보드에 맞도록 수정 해 주었고 디스크립트 몇가지 수정 하였으며 실제 동작 부분도 보드 상태에 맞도록 수정 하였다. 정말 값싸게 AVR atMega8을 이용하여 USB를 이용할 수 있어 간단한 어플리케이션에 딱 좋겠다. USB인식 플래시 라이트 후에 USB케이블을 다시 연결 해 주어야 정상 반영이 되는데... 그것때문에 시간이 좀 걸린것 같다. 드라이버 설치 드라이버는 MS에서 제공하는 CDC드라이버를 이용하고 INF파일만 좀 수정하여 설치 ..
[At90USB1287 EVM] USB Host 보드 [At90USB1287 EVM] USB Host 보드 AVR코어에 USB Host/Device 기는을 가진 AT90USB1287 보드로 네트웍 기능을 추가하여 Ethernet To USB테스트 가능하도록 했다. FTP서버를 이용하여 원격지에서의 USB메모리 스틱의 데이터를 업데이트 가능하다. 테스트 동영상 FTP클라이언트로 접속하여 원격지에서 보드에있는 USB 메모리 스틱의 파일을 업데이트 하는 예제
USB Full Speed 데이터 전송속도 USB Full Speed 데이터 전송속도 Ethernet to USB 보드 제작할때 일이다. FTP에서 데이터를 보내서 USB보드에 저장하는 장치 인데 FTP에서 속도 측정 결과 최대속도 340KByte/s 가 나왔다. 의뢰한 클라이언트의 말 "12M USB가 이것밖에 안돼?" 황당하다~ USB는 여러개의 트랜젝션(Setup, Data IN, Data OUT. Status IN, Status Out)으로 전송된다. 하나의 트랜젝션은 여러개의 패킷으로 나누어지는데 엔드포인터의 최대 전송 수에 관계된다. 벌크 전송의 예로 100바이트의 데이터를 전송하는 트랜젝션은 64 + 36 두개의 트랜젝션으로 나누어진다. [OUT 트랜젝션 1] 1)C -> D : OUT Token Packet 2)C -> D : 64..

반응형