2016-07-20 7 views
0

내 친구가 위 함수에 대한 내 자신의 구현을 작성하도록 요청했습니다. NVIC_Enable_IRQ (CAN1_RX0_IRQn); 수 신용 수신을 가능하게합니다. NVIC 기능 작동 방법 NVIC_EnableIRQ (CAN1_RX0_IRQn);

는 처음에 나는 위의 구현의 필요가 없도록 내가 직접 가서 필요한 값을 변경할 경우

아무도 NVIC와 관련된 레지스터처럼 설명해 주 시겠어요 .. 바로 이러한 구현에 그 불가능을 생각 기능 및 CAN 수신 인터럽트가 가능합니다.

난 NVIC_는 MCU 독립적 인 ARM 코어 (설정할 ARM에 의해 공급 CMSIS 라이브러리의 일부인 시작 CAN의 STM32F 예 코드

답변

3

다 주어진 예시 코드 복사이 광고 NVIC_EnableIRQ(CAN1_RX0_IRQn); 제조자). 너는 그들과 어울리기를 정말로 원하지 않는다. 그래서 너는 그들을 사용하는 것이 더 좋다. (껍질 M4 용) CMSIS의 core_cm4.h에서

, 당신은 찾을 수 있습니다

__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn) 
{ 
    NVIC->ISER[(((uint32_t)(int32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)(int32_t)IRQn) & 0x1FUL)); 
} 

를 이제, 당신이 CMSIS를 사용하지 않으려면 NVIC_EnableIRQ 전화를 걸거나하지 않으려면 , 행운을 빌어, 수정해야 할 주소를 확인하기 위해 ARM 핵심 설명서를 읽어야합니다. ARM 코어 설명서는 ARM 또는 Keil 웹 사이트에서 찾을 수 있습니다.

https://www.arm.com/products/processors/cortex-m/cortex-m4-processor.php http://www.keil.com/dd/docs/datashts/arm/cortex_m4/r0p1/dui0553a_cortex_m4_dgug.pdf

+0

난 그냥 그 때 작동합니다 .. 내 코드로 전체 NVIC 몸을 복사하거나 할 수 없습니다 예를 들어, 코어 텍스 M4 유용 해당 링크를 찾을 수 있는가? – user143252

+0

또한 관련 구조의 정의/선언을 복사해야합니다. –

+0

그래, 고마워, 난 단지 프로토콜에 대한 인터럽트를 활성화하고 싶다 ... 도와주세요 – user143252