mbed 라이브러리로 i2c를 동작시킬 수 있다는 말은 제가 위에서 말한 mbed용 i2c의 사용이 가능하다는 말 아닌가요?
추천한 사이트에서는 mi2c.write를 사용했는데 i2c.write와 동일한 라이브러리로 판단됩니다.
하드웨어 상에서 지원하지 않고 소프트웨어에서는 동작시킬 수 있다는 말은 sclk을 소프트웨어로 발생시킨다는 말인가요?
만약 sclk를 소프트웨어로 동작시킨다면 w7500p의 sclk 클럭은 몇 khz까지 발생시킬 수 있나요?(sclk 최대 클럭속도)
그리고 소프트웨어 i2c만으로도 신뢰성 있는 데이터 통신이 가능한지 궁금하네요.
이에 대한 시험을 귀사에서 진행하신 이력이 있나요?
i2c를 이용한 데이터 통신을 사용해야 하기에 확실한 답변이 필요합니다.
최종으로는 mbed가 아닌 c코드(gcc 컴파일)로 작성할 예정입니다.
mbed와 같이 위즈넷에서 제공하는 c코드용 i2c 라이브러리가 있나요?
라이브러리가 있다면 i2c를 이용한 데이터 통신 예제도 함께 제공이 가능한가요?
그리고 mbed는 코드 길이에 대한 제한 사항이 어느정도 인지 아신다면 함께 알려주셨으면 합니다.
c코드용 라이브러리가 없거나 사용에 제한이 있다면 mbed 컴파일을 사용해야 하는지 검토차 문의합니다.
말씀하신대로 SCLK를 SW로 발생시킵니다.
GPIO로 SCL핀과 SDA핀을 연결하여 정해진 I2C규약에 따라 HIGH, LOW를 발생시켜 작동시킵니다.
GPIO로 toggle 시켜 만들어낼 수 있는 최대 CLK은 2MHz 내외이며, 신뢰성 테스트를 진행하진 않았습니다.
WIZwiki-w7500p보드용 예제는 구현하셔야하며
W7500P가 들어있는 serial to Ethernet 보드인 WIZ750SR 용 코드를 참고하시면 좋을 것 같습니다.
첨부한 사이트의 코드로 i2c를 이용하라는 말 같은데, 위 코드를 이용한 i2c 통신방법이나 예제를 제공하실 수는 없나요?
위즈넷에서 코드를 만든 후 i2c 통신 시험을 한 후에 배포했을 거라 생각됩니다.
그러면 시험에 사용했던 코드나 위즈넷에서 레퍼런스로 가지고 있는 교육용 코드가 있다면 제공해 주셨으면 합니다.
저같은 경우 i2c의 slave 주소(0x1a)의 레지스터(0x01)에 데이터를 넣고자 하는데 알려주신 사이트 코드만으로는 어떻게 해야할 지 모르겠습니다.
gpio를 토글시켜서 최대 2Mhz까지 가능하다고 했는데, 그에 대한 코드도 제공하실 수 있나요?
저는 100khz와 400khz의 클럭을 꾸준히 생성시켜서 사용하고자 합니다.
답변 중에
“WIZwiki-w7500p 보드용 예제는 구현하셔야하며, W7500P가 들어있는 serial to Ethernet 보드인 WIZ750SR 용 코드를 참고하시면 좋을 것 같습니다.”
라고 하셨는데, 무슨 예제를 구현하라는 얘긴지를 모르겠네요.
WIZ750SR용 코드를 보면 'i2c start/stop/i2ack’의 코드를 그대로 사용해도 될 듯 한데, WIZwiki-w7500p 용 예제를 구현해야 한다는 말이 무슨 뜻인지 모르겠네요.
i2c 예제 코드의 경우 공개하고 있지 않습니다.
이메일을 알려주시면 제가 개인적으로 갖고 있는 keil 프로젝트로 작성된 oled를 사용한 예제를 보내드리겠습니다.
데이터를 write하는 부분은 W7500x_i2c.c 코드안에서 I2C_Init()함수를 통해 Init하신후 I2C_Write()함수를 통해 적어주시면 됩니다.
GPIO의 경우 CLOCK을 일정하게 줄 수 있지않습니다. delay함수로 toggle되는 속도를 맞춰주셔야합니다.
WIZ750SR 보드용 프로젝트이기 때문에 환경이달라서 I2C부분만 참고하시라는 말이였습니다. 이메일로 코드보내드리면 그대로 사용하시면 됩니다.