Devantech USB-to-I2C

Source (FishEye) : FishEye link address, DevantechUsbToI2C_V1.0_20120731.tgz
Issue Tracker (Jira) : Jira link address

Devantech USB-To-I 2 C

1.       개요

Devantech사에서 개발한 USB-To-I2C 통신 모듈을 위한 API이다. 이 장치는 USB를 가상의 직렬포트로 사용하기 때문에 직렬통신을 이용하여 사용할 수 있다. 이 장치에 대한 자세한 정보는 아래의 홈페이지를 참고

- http://www.robot-electronic s .co.uk

 

2.       파라미터 정보

이 API를 동작시키기 위해서는 parameter 에 다음의 정보를 포함하고 있어야 한다.

 

Name

Data Type

Description

AddressMode

int

0: Byte Address Mode

1: Word Address Mode

UartApiName

string

RS-232 통신 API의 이름

PortName

string

사용한 포트의 이름

TimeOut

unsigned long

송/수신 최대 지연시간

BaudRate

unsigned long

통신 속도

DataBits

int

데이터 비트의 크기, 5, 6, 7, 8(비트) 중에 하나를 선택해야 함

StopBits

int

정지 비트의 크기

0 : 1bit

1 : 1.5bit

2 : 2bit

Parity

int

패리티 비트

0 : None Parity

1 : Even Parity

2 : Odd Parity

FlowControl

int

흐름 제어 모드

0 : None

1 : Xon/Xoff

2 : Hardware

 

 

3.       인터페이스

3.1.    Initialize

I 2 C 통신장치의 초기화 정보( parameter )를 이용하여 초기화 시킨다.

 

Declaration

int Initialize(Property parameter)

Arguments

parameter: I 2 C 통신장치의 초기화 정보를 저장하고 있는 변수

Return Value

API_SUCCESS: 성공적으로 I 2 C 통신장치를 초기화 시킨 경우

API_ERROR: I 2 C 통신장치를 초기화 시키는 도중 에러가 발생한 경우

 

3.2.    Finalize

I 2 C 통신장치를 종료시킨다.

 

Declaration

int Finalize(void)

Arguments

없음

Return Value

API_SUCCESS: 성공적으로 I 2 C 통신장치를 종료 시킨 경우

API_ERROR: I 2 C 통신장치를 종료시키는 도중 에러가 발생한 경우

 

3.3.    Enable

I 2 C 통신장치를 활성화 시킨다.

 

Declaration

int Enable(void)

Arguments

없음

Return Value

API_SUCCESS: 성공적으로 I 2 C 통신장치를 활성화 시킨 경우

API_ERROR: I 2 C 통신장치를 활성화시키는 도중 에러가 발생한 경우

 

3.4.    Disable

I 2 C 통신장치를 비활성화시킨다.

 

Declaration

int Disable(void)

Arguments

없음

Return Value

API_SUCCESS: 성공적으로 I 2 C 통신장치를 비활성화 시킨 경우

API_ERROR: I 2 C 통신장치를 비활성화 시키는 도중 에러가 발생한 경우

 

3.5.    SetParamter

I 2 C 통신장치의 파라미터를 변경한다.

 

Declaration

int SetParameter(Property parameter)

Arguments

parameter: 설정 정보

Return Value

API_SUCCESS: I 2 C 통신장치의 파라미터를 성공적으로 변경시킨 경우

API_ERROR: I 2 C 통신장치의 파라미터를 변경시키는 도중 에러가 발생한 경우

 

3.6.    GetParameter

I 2 C 통신장치의 설정 정보를 얻어온다.

 

Declaration

int GetParameter(Property &parameter)

Arguments

parameter: 설정정보가 저장될 변수

Return Value

API_SUCCESS: 성공적으로 I 2 C 통신장치의 파라미터를 얻어온 경우

API_ERROR: I 2 C 통신장치의 파라미터를 얻어오는 도중 에러가 발생한 경우

 

3.7.    OnExecute

컴포넌트의 Callback API 중 onExecute에서 호출되는 함수로, 주기적으로 동작해야 하는 코드가 여기에 작성해야 한다. 이 API에서는 사용되지 않음

 

Declaration

int OnExecute(void)

Arguments

없음

Return Value

API_NOT_SUPPORTED

 

3.8.    GetStatus

직렬통신장치의 현재 상태를 반환한다.

 

Declaration

DEVICE_STATUS GetStatus(void)

Arguments

없음

Return Value

DEVICE_STATUS

DEVICE_STATUS의 자세한 정보를 OPRoS Device API 문서 참고

 

3.9.    Lock

I 2 C 통신장치를 동시에 사용하는 것을 방지하고 위해 사용되는 함수로 I 2 C 통신장치를 다른 곳에서 사용할 수 없도록 잠근다. Lock을 호출한 후에 반드시 Unlock을 호출해야 한다. 그러지 않을 경우 API가 Deadlock에 빠질 수 있다.

 

Declaration

void Lock(void)

Arguments

없음

Return Value

없음

 

3.10. Unlock

다른 프로그램에서 동시에 사용할 수 없도록 잠근 것을 푼다.

 

Declaration

void Unlock(void)

Arguments

없음

Return Value

없음

 

3.11. Write

지정한 주소로 I 2 C 통신장치를 통해서 데이터를 전송한다.

 

Declaration

int Write(unsigned long address, unsigned char *data, int size)

Arguments

address: 전송된 데이터가 쓰여질 주소

data: 전송할 데이터가 저장된 변수

size: 전송할 데이터의 개수

Return Value

0보다 크거나 같은 경우: 전송된 데이터의 개수

API_ERROR: 데이터를 전송하는 도중 에러가 발생한 경우

 

3.12. Read

지정한 주소로부터 I 2 C 통신장치를 통해서 수신된 데이터를 읽어온다.

 

Declaration

int Read(unsigned long address, unsigned char *data, int size)

Arguments

address: 읽어올 데이터의 주소

data: 수신된 데이터를 저장할 변수

size: 읽어올 데이터의 개수

Return Value

0 보다 크거나 같은 경우: 읽어온 데이터의 개수

API_ERROR: 데이터를 읽어오는 도중 에러가 발생한 경우

 

4.       컴포넌트 프로파일의 Property 설정 예제

 

< properties >

  <!--               Properties for Devantech USB-to-I2C               -->

  < property name = " ApiName " type = " string " > DevantechUsbToI2C.dll </ property >

  < property name = " AddressMode " type = " int " > 0 </ property >

 

  <!--               Properties for Serial Communication               -->

  < property name = " UartApiName " type = " string " > SerialCommunication.dll </ property >

  < property name = " PortName " type = " string " > COM3 </ property >

  < property name = " TimeOut " type = " int " > 100 </ property >

  < property name = " BaudRate " type = " int " > 19200 </ property >

  < property name = " DataBits " type = " int " > 8 </ property >

  < property name = " StopBits " type = " int " > 0 </ property >

  < property name = " Parity " type = " int " > 0 </ property >

  < property name = " FlowControl " type = " int " > 0 </ property >

</ properties >

 

  • No labels