여러분은 가만히 계세요 제가 모두 고장낼게요

IT 지식, PC 모바일 문제 해결 그리고 종종 애니 게임 일상생활 근황을 종종 올리고 있어요!

냐.한국 자세히보기

임베디드/SlimeVR

MPU6050 외부 오실레이터 사용하기

Kamilake 2022. 1. 11. 09:47
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

아무리 코드에서 오실레이터를 외부로 변경하는 레지스터를 I2C로 쏴줘도 내부 오실레이터를 계속 사용하네요..

MPU-6000-Register-Map.pdf
0.88MB

 

 

보드에 들어가는 전원 상태가..?

일단 이거 먼저 봐야겠어요...ㅋㅋㅋㅋ

(해결완료)TP4056이 배터리가 없으면 충전과 방전을 반복하는 동작이 수행되면서 독특한 패턴을 찍는 모양입니다.

무지성으로 클럭소스 레지스터 변경 코드를 쏴주기로 했습니다.

저렇게 설정하고 패킷을 캡쳐하면 어떤 느낌으로 나올지 보고 제대로 ESP에서 MPU6050으로 신호를 보내는 지 확인하는 게 먼저같네요

일단 저 구문을 지나가는 건 콘솔로 확실히 확인 완료.

6B를 기준으로 검색하면 될 것 같습니다.

6B44의 데이터를 보내고 있습니다.

일단 저게 찍혀나온다는 건 ESP8266은 아무런 문제없이 I2C 신호를 쏴주고 있고

저 내용이 완벽하다면 MPU-6050이 레지스터 쓰기 신호를 무시한다는 뜻이 되는데...

(반대로 그렸지만 4는 맞아요)

일단 제대로 보내고 있습니다. 6B: 0x44를 이진수로 바꾸면 0010 1100이고 0 1 2번째 비트가 4 즉  외부 PLL 32768kHz를 선택하는 것으로 되어 있습니다.

패리티같은 건 없어서 그냥 잘못 전송되면 계속 오작동할 뿐입니다. 

ESP쪽 코드를 수정해서 다음으로 진행할 수 있도록 만들어 주겠습니다.

(많다고 동작이 변하는 건 아니라 그냥 위치를 찾기 쉽게 해줄 뿐입니다)

저 구문 위치의 I2C 신호 캡쳐입니다. 0x68 주소로 6B44를 잘 보내고 있는 모습을 볼 수 있습니다.

시리얼 출력과 I2C를 주고 받는 동작은 문제없이 수행되고 있는 것을 확인했습니다.