32F429IDISCOVERY SPI로 자이로 MEMS ID 읽기
2019. 7. 15. 22:34ㆍ임베디드/32F429IDISCOVERY
32F429IDISCOVERY에서 자이로 MEMS 회로도는 다음과 같다. SPI를 통해서 데이터를 주고받고, 채널 5번을 이용한다는 점을 알 수 있다. NCS_MEMS_SPI는 PC1번에 연결되어 있고 소프트웨어적으로 제어할 것이니 GPIO_OUTPUT으로 설정한다
다음은 SPI5와 USART1에 대한 CubeMX 설정이다
자이로 MEMS의 장치 ID를 읽으려고 한다. 데이터시트를 들어가보면,
https://www.pololu.com/file/0J563/L3GD20.pdf
SPI 인터페이스는 RW + MS + AD(5) 이후에 데이터를 읽어오는 구성으로 되어있다
우리가 읽으려는 장치 ID의 주소는 0x0F이며, 실제 제대로 읽힌다면 0xD4를 출력하게 된다
따라서 MEMS에 전달하는 명령어는 읽기 모드 + 장치 주소로 0x8F가 된다
다음은 소스코드다. SPI 인터페이스에 맞춰서 먼저 해당 SS핀은 LOW로 연 다음, 동기 방식을 통해서 데이터를 전송하게 되고, 이후 dummy 값을 던지면서 장치 주소를 읽게 된다
'임베디드 > 32F429IDISCOVERY' 카테고리의 다른 글
32F429IDISCOVERY TFT-LCD에 다양한 색 출력하기 - 2 (0) | 2019.07.18 |
---|---|
32F429IDISCOVERY TFT-LCD에 다양한 색 출력하기 - 1 (0) | 2019.07.17 |
32F429IDISCOVERY TrueSTUDIO에서 타이머 인터럽트 사용하기 (0) | 2019.07.10 |
32F429IDISCOVERY TrueSTUDIO에서 printf 사용 시 실수 사용법 (0) | 2019.07.09 |
아두이노 시리얼 플로터로 자이로 값 확인하기 (0) | 2019.07.09 |