dsPIC33 마이크로 컨트롤러를 사용하여 여러 I2C 슬레이브 장치에서 읽으려고합니다.I2C 및 타이머 인터럽트 (타이머 1)
사용자가 타이머 인터럽트 (이 경우 timer1)를 사용하고 I2C 데이터를 수집하는 올바른 방법에 대해 조언 해 줄 수 있기를 바랍니다.
지금까지 I2C 슬레이브 장치에서 while 루프를 반복하여 데이터를 수집 할 수 있었지만 타이머 인터럽트를 추가하려고 시도한 이후 (즉, 가능한 한 빨리 수집 할 수는 없지만 자체 샘플링 속도를 적용 할 수 있습니다.) 내 I2C 소프트웨어 드라이버가 막혔습니다.
저는 매우 낮은 타이머 속도 (현재 1Hz)로 시도했으며 I2C는 표준 100KHz 속도입니다. PIC는 80MHz에서 처리 중입니다.
타이머와 I2C 모듈을 사용하는 올바른 방법은 무엇입니까? 나는 온라인으로 봐 봤는데 그것은 인터럽트 (timer1) 내에서 인터럽트 (I2C)를 가지고 timer1을 사용할 때 인터럽트 우선 순위의 문제가 될 수있는 것 같지만, 지금까지는 행운이 없습니다.