2017-12-09 1 views
0

FT232HL (libMPSSE dll)을 사용하여 I2C 장치와 통신하려고합니다. 별도의 스레드는 데이터 읽기 및 쓰기에 사용됩니다. 첫 번째 쓰기 사이클은 성공적으로 발생하지만 FT_IO_ERROR를 제공합니다. FDTI libMPSSE I2C- 읽기 및 쓰기 위해 별도의 Reader & Writer 스레드를 사용하는 동안 FT_IO_ERROR 가져 오기

나는 코딩하는 동안 AN_177_User_Guide_For_LibMPSSE-I2C.pdf를 따라 갔으며 스레드 동기화를 위해 세마포어를 사용했습니다. 인터넷을 통해 FT_IO_ERROR에서 문서를 찾을 수 없습니다. 당신이 그것에 대해 알고 있다면 저를 도우십시오.

답변

1

I2C 버스는 반이중입니다. 읽기 스레드와 쓰기 스레드를 구별 할 필요가 없다고 생각됩니다.

FT_IO_ERROR는 데이터 전송 오류입니다. 설명 된 문서의 13 페이지에 설명되어 있습니다.

아마도 인터페이스 칩이나 라이브러리의 문제는 아니지만 I2C 버스에 연결된 장치의 명령/응답 시퀀스에 따라 통신 제어가 수행되는지 여부는 문제가되지 않습니다.

사용중인 I2C 장치의 통신 사양을 확인하십시오. 또한 인터페이스 칩과 I2C 장치가 올바르게 연결되어 있고 통신이 가능한지 확인하십시오.

+0

리더 및 라이터 스레드는 SPI, UART (매크로 기반 결정)에 동일한 코드가 사용되므로 분리되어 있습니다. 읽기는 슬레이브가 제어하는 ​​IRQ 라인의 상태에 따라 발생합니다. FT_IO_ERROR에 대한 설명에 따라 libMPSSE가 쓰기/읽기에 실패하여 내가 잘못하면 나를 바로 잡으십시오. –

+0

이제 문제가 발생 했으므로 단계별로 설문 조사를 수행하는 것이 좋습니다. 예를 들어, FTDI의 I2C 샘플 프로그램을 기반으로 사용자가 사용하는 I2C 장치의 명령/응답에 맞게 수정하고 가장 간단한 형태로 통신 할 수 있는지 확인하십시오. 확인 후 현재 프로그램과의 차이점을 고려하십시오. – kunif

+0

확인. 고맙습니다! 나는 점검하고 갱신 할 것이다. –