高级会员

- 积分
- 673
- 金钱
- 673
- 注册时间
- 2016-6-6
- 在线时间
- 107 小时
|
10金钱
最近在用STM32F051的芯片,在用它的比较器的时候一直不能进入比较器中断,比较器测试了工作正常,但是一直进不了中断。现附上代码,请大虾帮我看看void COMP2_Init()
{
COMP_GPIO_Init();
RCC->APB2ENR |=1<<0; //¿aÆôSYSCFGê±Öó
COMP->CSR &=~(7<<20);
COMP->CSR |=6<<20; //PA5Îa·′Ïòêäèë¶Ë
COMP->CSR &=~(1<<27); //êä3ö¼«DÔ í¬Ïà
COMP->CSR &=~(7<<24); //êä3öÎTᬽó
COMP->CSR &=~(3<<28); //ÎTÖíoó
COMP->CSR &=~(3<<18);
COMP->CSR |=3<<18; //¸ßμè1|Âê
COMP->CSR &=~(1<<23); //1رÕ′°¿úÄ£ê½
COMP->CSR |=1<<16; //′ò¿a±è½ÏÆ÷2
EXTI->IMR |=1<<22; //¿a·ÅÏßéÏμÄÖD¶ÏÇëÇó
EXTI->EMR |=1<<22;
NVIC_EnableIRQ(ADC1_COMP_IRQn);
}
void COMP_GPIO_Init()
{
RCC->AHBENR |=1<<17; //¿aÆôGPIOAμÄê±Öó
/*PA2*/
GPIOA->MODER &=~(3<<4);
GPIOA->MODER |=3<<4; //ÅäÖÃÎaÄ£ÄaÄ£ê½
GPIOA->OSPEEDR &=~(3<<4); //¸ßËù
GPIOA->OSPEEDR |=3<<4;
GPIOA->PUPDR &=~(3<<4); //ÎTéÏÏÂà-
/*PA3*/
GPIOA->MODER &=~(3<<6);
GPIOA->MODER |=3<<6; //Ä£ÄaÄ£ê½ +¼«êäèë
GPIOA->OSPEEDR &=~(3<<6); //¸ßËù
GPIOA->OSPEEDR |=3<<6;
GPIOA->PUPDR &=~(3<<6); //ÎTéÏÏÂà-
/*PA4*/
GPIOA->MODER &=~(3<<8);
GPIOA->MODER |=3<<8; //Ä£ÄaÄ£ê½
GPIOA->OSPEEDR &=~(3<<8); //¸ßËù
GPIOA->OSPEEDR |=3<<8;
GPIOA->PUPDR &=~(3<<8); //ÎTéÏÏÂà-
/*PA5*/
GPIOA->MODER &=~(3<<10);
GPIOA->MODER |=3<<10; //Ä£ÄaÄ£ê½
GPIOA->OSPEEDR &=~(3<<10); //¸ßËù
GPIOA->OSPEEDR |=3<<10;
GPIOA->PUPDR &=~(3<<10); //ÎTéÏÏÂà-
/*PA7*/
GPIOA->MODER &=~(3<<14);
GPIOA->MODER |=2<<14; //¸′óÃ1|Äü
GPIOA->OTYPER &=~(1<<7); //ÅäÖÃêä3öààDí íÆíìêä3ö
GPIOA->OSPEEDR &=~(3<<14); //¸ßËù
GPIOA->OSPEEDR |=3<<14;
GPIOA->PUPDR &=~(3<<14);
GPIOA->PUPDR |=1<<14; //éÏà-
GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_7);
}
比较器的输入时PA5,但是一直进不了 ADC1_COMP_IRQHandler();
|
|