OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 73|回复: 1

STM32F051比较器进去中断

[复制链接]

  离线 

3

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2016-6-6
在线时间
50 小时
发表于 2017-12-7 20:37:30 | 显示全部楼层 |阅读模式
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();

最佳答案

查看完整内容[请看2#楼]

找到问题了,要配置EXTI_Init()和NVIC_Init()才能进入中断。结贴
回复

使用道具 举报

  离线 

3

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
金钱
320
注册时间
2016-6-6
在线时间
50 小时
 楼主| 发表于 2017-12-7 20:37:31 | 显示全部楼层
找到问题了,要配置EXTI_Init()和NVIC_Init()才能进入中断。结贴
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-12-15 20:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */