你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F205无法进入外部中断处理函数(可进入串口中断)

[复制链接]
★春后雨★ 提问时间:2016-9-13 16:43 /
想用一个外部中断PC1来计算外部脉冲的频率,每过2ms就上传一次数据并清0,但是不知为何无法进入中断()经检测软件上是可以检测到外部的电平变化)请各位大神看看我程序有什么遗漏的地方:
RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOC , ENABLE);
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG, ENABLE);
gpio.GPIO_Pin = GPIO_Pin_1;
gpio.GPIO_Mode =GPIO_Mode_IN;
gpio.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOC, &gpio);
EXTI_InitTypeDef EXTI_InitStruct;
EXTI_StructInit(&EXTI_InitStruct);
EXTI_DeInit();
EXTI_InitStruct.EXTI_Line = EXTI_Line1;
EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
EXTI_InitStruct.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStruct);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC,EXTI_PinSource1);
NVIC_InitTypeDef nvic;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
nvic.NVIC_IRQChannel = EXTI1_IRQn;               
nvic.NVIC_IRQChannelPreemptionPriority = 0;
nvic.NVIC_IRQChannelSubPriority = 1;
nvic.NVIC_IRQChannelCmd = ENABLE
NVIC_Init(&nvic);
void EXTI1_IRQHandler()//进不了处理函数
{
        if(EXTI_GetITStatus(EXTI_Line1) != RESET)
        {
                   num++;
                   EXTI_ClearITPendingBit(EXTI_Line1);   
         }
}            
固件库是1.0.0版本的,找不到这个版本的例程,只找到1.4版本的但还是看不出具体的原因,求各位指点迷津~~~( o )啊!

收藏 1 评论9 发布时间:2016-9-13 16:43

举报

9个回答
xmshao 回答时间:2016-9-13 21:25:42
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC,EXTI_PinSource1);
该句放到EXTI配置最前面测试下。
高二毛 回答时间:2016-9-14 08:39:28
多调试调试吧。
★春后雨★ 回答时间:2016-9-14 08:50:41
xmshao 发表于 2016-9-13 21:25
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC,EXTI_PinSource1);
该句放到EXTI配置最前面测试下。 ...

还是不行
★春后雨★ 回答时间:2016-9-14 08:51:36

调试好久了,找不到具体原因才求助的~~
xmshao 回答时间:2016-9-14 11:24:15
换个端口 参考最新版本的库来做下。
★春后雨★ 回答时间:2016-9-14 12:23:12
xmshao 发表于 2016-9-14 11:24
换个端口 参考最新版本的库来做下。

换过端口了,之前是用PB10的,只有在启动时进入了中断,启动完后外部电平变化对其产生不了影响
xmshao 回答时间:2016-9-14 16:30:55
担心你工程文件会不会多版本的搅在一起。

下载个最新库直接使用库里面的EXTI例程测试。
★春后雨★ 回答时间:2016-9-18 15:01:38
xmshao 发表于 2016-9-14 16:30
担心你工程文件会不会多版本的搅在一起。

下载个最新库直接使用库里面的EXTI例程测试。 ...

经过官方的最新库中断例子的测试,确认是硬件上是没问题的,向之前做项目的离职工程师求证也证实了不只只有一个版本的库,但是如果要修改成一个库工程量又很大,又不知道具体区别在什么地方,将具体库函数和定义也移植过去但还是不行,还请大神多指点迷津
243786753 回答时间:2016-10-30 14:07:15
我也遇到这个问题了,你是不是在下载到内存中调试?为了延长单片机的寿命,我是下载到内存中运行调试的,之后发现,下载到FLASH中调试完全没有问题

解决办法:下载到FLASH中调试

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版