2016-12-09 10 views
0

질문에서 나는 디지털 입력 핀에 대해 ICN (Input Change Notification)을 구현하려고합니다.dsPic33E : 디지털 입력 핀에서 입력 변경 알림을 구현하는 방법?

저는 dsPic33EP512GM604를 사용하고 있습니다.

입력 핀으로 < 22> RB1을 구성했습니다.

IR 센서는 동일한 핀에 연결됩니다. 센서가 객체를 감지 할 때마다 인터럽트를 얻는 방법 (폴링 이외의 방법)을 찾습니다 (높은 신호를 보냄).

Datasheet 장치를 거치면서 ICN (Input Change Notification) 기능을 사용할 수있었습니다.

라고 적혀 다음 I/O 포트

"를 입력 변경 알림 기능이 기기 선택 입력 핀들의 상태 변경 (COS)에 응답하여 상기 프로세서에 인터럽트 요청을 생성 할 수있는이. 기능은 클럭이 비활성화되었을 때 슬립 모드에서도 입력 변화 (COS)를 감지 할 수 있으며, 상태 변화 (Change-of-State)에서 인터럽트 요청을 생성하기 위해 모든 I/O 포트 핀을 선택 (활성화) 할 수 있습니다.

구현과 관련하여 더 많은 정보를 찾으려고했지만 정보를 찾을 수 없습니다.

누구나 나를 구현하는 방법을 안내하거나 나에게 구현이나 관련 정보를 설명하는 링크를 공유 할 수 있습니까 ???

답변

1

일반적인 dspic33e 설명서가 필요합니다 (주변 장치마다 별도의 파일로 장이있는 설명서). 여러 핀 CN을 사용하는 경우, 당신이 결정하는 인터럽트에 핀을 폴링해야

void __attribute__((__interrupt__, no_auto_psv)) _CNInterrupt(void) 
{ 
    _CNIF = 0; 
} 

:

당신의 _CN 대략 다음과 같이 인터럽트 루틴

CNENBbits.CNIEB1 = 1; // Enable RB1 pin for interrupt detection 
_CNIP=7;  // priority (7 = highest) 
_CNIE = 1; // Enable CN interrupts 
_CNIF = 0; // clear interrupt flag 

같은 것을 시도하고 정의 어느 쪽이 그것을 활성화 시켰는가.