요즘 PIC18LF14K22을 이용하여 시스템을 제작하고있습니다.
시스템은 외부에 있는 A/D Convertor에 있는 값을 SPI통신을 이용하여 읽어와서 UART통신으로
컴퓨터에 값을 전송하는 겁니다.
그런데 데이터시트를 보며 아무리 프로그램을 짜도 SSPBUF에서 읽어온 값이 0밖에 안나옵니다.
혹시나 싶어 오실로 스코프를 이용하여 데이터를 확인해 봤는데,
오실로스코프상에서는 SPI데이터 전송이 잘되는듯 보입니다.
SPI내부적으로 레지스터상에 데이터 전송이 안되서 생긴 현상이거나
컴파일러의 문제라고 추측하고 있으나,
정확히는 몰라 이렇게 글을 남깁니다.
혹시 PIC18 해보신 분들중 이러한 현상을 겪어보신분이나,
해결책을 알고계신분은 지도 부탁드리겠습니다.
감사합니다.
MPLAB IDE 8.53과
MPLAB C18 lite V3.36을 사용하고 있습니다.
adc 값이 업데이트 되는 시점과 spi 통신으로 데이터 획득하는 시간차가 문제가 아닐런지요?