다음은 PHPoC가 I2C 슬레이브로 데이터를 쓰는 일반적인 예 입니다.
<?php
$wbuf = 0x7A;
$pid = pid_open("/mmap/i2c0"); // I2C 열기
pid_ioctl($pid, "set mode fm"); // 고속모드 설정
pid_ioctl($pid, "set saddr ee"); // 슬레이브 디바이스 주소 설정: 0xEE
pid_write($pid, $wbuf, 1); // 버퍼에 1바이트 넣기: 0x7A
pid_ioctl($pid, "req write"); // 쓰기 요청
while(pid_ioctl($pid, "get txlen")) // 송신 데이터 확인
;
pid_close($pid);
?>
<?php
$pid = pid_open("/mmap/i2c0"); // I2C 열기
pid_ioctl($pid, "set mode fm"); // 고속모드 설정
pid_ioctl($pid, "set saddr ee"); // 슬레이브 디바이스 주소 설정: 0xEE
pid_ioctl($pid, "req write wait"); // 쓰기 요청 및 종료 대기
pid_write($pid, 0x7A, 1); // 1바이트 송신: 0x7A
pid_write($pid, 0x8A, 1); // 1바이트 송신: 0x8A
pid_write($pid, 0x9A, 1); // 1바이트 송신: 0x9A
while(pid_ioctl($pid, "get txlen")) // 송신 데이터 확인
;
pid_ioctl($pid, "req stop"); // 쓰기 종료 요청
pid_close($pid);
?>
다음은 PHPoC가 I2C 슬레이브의 데이터를 읽는 일반적인 예 입니다.
<?php
$rbuf = "";
$pid = pid_open("/mmap/i2c0"); // I2C 열기
pid_ioctl($pid, "set mode fm"); // 고속모드 설정
pid_ioctl($pid, "set saddr ee"); // 슬레이브 디바이스 주소 설정: 0xEE
pid_ioctl($pid, "req read 2"); // 2바이트 읽기 요청
while(pid_ioctl($pid, "get rxlen") < 2) // 수신 데이터 확인
;
pid_read($pid, $rbuf); // 버퍼의 데이터 읽기
pid_close($pid);
?>