2017-04-15 23 views
0

안녕 얘들 아 나는 똑바로 72 시간처럼 일해 왔어, 내가 오류를 찾을 수 없습니다, 나는 PIC16F1719에서 일하고 있어요 나는 3 peripherials ADC는 I2C 프로토콜 그리고 BT에 comunicating에 대한 USART 그러나 ADC는 쉽지 만 사실은 여러 번 코드를 확인 했는데도 불구하고 나는 힘든 시간을 보내고 있는데, 어떤 이유로 ACK가 모두 정상적으로 보이지만 내가 센서 (MPU6050)에 대한 강의를 할 때, 아무 것도 나타나지 않지만 버퍼에 마지막으로 넣은 값, 어떤 아이디어가 왜 일어나는지? 그것은 버퍼가 그 자체를 깨끗이하지 못하는 것 같아요. 그리고 나는 소프트웨어를 통해 그것을 깨끗하게 할 수 없다고 생각합니다, 감사합니다.IC2 SLAVE 응답 XC8

+0

프로그래밍과 관련이 있습니까? 아니면 하드웨어 질문입니까? – Carcigenicate

+0

글쎄, 내가 생각하기에 그것은 같은 시간에, 내 하드웨어가 잘되어있어, 저항기와 모든 것들을 잡아 당기고, 주요 거래는 왜 버퍼가 센서의 값을 보여주지 않는지에 관한 것이지만 주소는 내가 주었다. , 모든 것이 버퍼에 쌓여서 정말 아무 일도 일어나지 않는 것처럼 –

답변

0

마스터가 올바르게 통신하지 않으면 i2c 슬레이브가 버스를 잠글 수 있습니다 (몇 가지 가능한 시나리오 ...) 이는 2 개의 와이어가 유선이므로 전기적인 방법으로 가능합니다. 시계 (예를 들면) 아래로, 그리고 그 방법을 유지, 버스가 잠겨 있습니다.

  • 항상 양쪽 와이어 (스코프 또는 dvm 사용)의 값을 확인하십시오. '0'이면 버스가 잠겨 있음을 의미합니다.
  • 다음으로 i2c 컨트롤러의 상태 레지스터를 테스트하면 중재 오류 또는 그와 비슷한 것으로 나타날 수 있습니다.
  • 오류가있는 경우 i2c 슬레이브 부품 데이터 시트를주의 깊게 읽고 어떤 유형의 프로토콜을 읽고 쓰는지 확인하고 코드를 수정하십시오.