like198628 发表于 2010-12-27 22:10:02

STM32中断问题

我就想实现最简单的外部中断,当按钮按下时产生中断控制LED灯,但是老是出现这个问题..\User\src\main.c(119): error:  #20: identifier "EXTI3_IRQChannel" is undefined,老是说EXTI3_IRQChannel没有定义,怎么回事,弄了好久都没弄好,哎,急救啊
附件里有我的main文件,帮忙看看,谢谢啊~~~~~~~~~~~
附NVIC的配置:
void NVIC_Config(void)
{
     NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_StructInit(&NVIC_InitStructure);
    NVIC_PriorityGroupConfig (NVIC_PriorityGroup_0 );     //设置中断嵌套控制的优先级
                                                         //针对中断线2
    NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQChannel;     //NVIC外设的初始化
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
    NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;          
    NVIC_Init(&NVIC_InitStructure);
                                                          //针对中断线3
    NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQChannel ;     //NVIC外设的初始化
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =1;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
    NVIC_InitStructure.NVIC_IRQChannelCmd =ENABLE;          
    NVIC_Init(&NVIC_InitStructure);
}

发表于 2010-12-28 08:56:18

RE:STM32中断问题

EXTI3_IRQChannel在stm32f10x_nvic.h中定义,你要引用stm32f10x_nvic.h,并且将stm32f10x_nvic.C加入工程中。

like198628 发表于 2010-12-28 09:34:14

回复:STM32中断问题

回复第 2 楼 安 于2010-12-28 00:56:18发表:
EXTI3_IRQChannel在stm32f10x_nvic.h中定义,你要引用stm32f10x_nvic.h,并且将stm32f10x_nvic.C加入工程中。 

我已经加入了这个文件啊,不过怎样把它加进到stm32f10x_it.c文件包含的文件中,我使用的是3.0固件库模板写的,附件有我的main程序,你把它复制到固件库模板运行下看是不是和我的错误一样~~

发表于 2010-12-28 13:49:13

RE:STM32中断问题

把引用全部去掉,只用#include "stm32f10x_lib.h"

xiepeilin-18734 发表于 2011-1-5 09:08:20

RE:STM32中断问题

你用的库版本是大于2.1的吧?如果是3.0及其以上的,EXTI2_IRQChannel要改成EXTI2_IRQ的,stm32f10x.h中都不带后面的Channel:)

robingbing 发表于 2011-1-5 11:12:27

RE:STM32中断问题

;P帮顶,我也初学~

robingbing 发表于 2011-3-6 20:40:30

回复:STM32中断问题

回复第 5 楼 xiepeilin于2011-01-05 01:08:20发表:
你用的库版本是大于2.1的吧?如果是3.0及其以上的,EXTI2_IRQChannel要改成EXTI2_IRQ的,stm32f10x.h中都不带后面的Channel:)
 
说的对…………
 
页: [1]
查看完整版本: STM32中断问题