임베디드 시스템과 펌웨어
I2C에서 데이터를 1바이트 받은 쪽이 받았음을 알리는 방법으로 올바른 것은 무엇입니까?
- A받은 쪽이 다른 선으로 1을 계속 내보낸다
- B9번째 클럭 동안 받은 쪽이 SDA를 0으로 끌어내린다(ACK)
- C받은 쪽이 같은 바이트를 되돌려 보낸다
정답과 해설 보기
정답: B. 9번째 클럭 동안 받은 쪽이 SDA를 0으로 끌어내린다(ACK)
I2C에서는 8비트 데이터에 이어지는 9번째 클럭에서 받은 쪽이 SDA를 0으로 끌어내려 받았음을 알립니다(ACK). 아무도 끌어내리지 않으면 SDA는 풀업으로 1인 채로 있어 NACK가 됩니다. 주소를 보냈을 때 ACK가 돌아오지 않으면 그 기기가 없거나, 배선이 끊어졌거나, 주소가 다르거나 하는 것을 생각할 수 있어 고장 조사의 단서가 됩니다.