在EK-LM3S8962上玩光盘上的例程,PWMGEN,想给它加个中断,不让蜂鸣器老是一直响。
我只加了个中断服务,
void
GPIO_PORT_D_ISR(void)
{
unsigned char ucKey;
unsigned long ulStatus;
ulStatus = GPIOPinIntStatus(GPIO_PORTD_BASE, true);
GPIOPinIntClear(GPIO_PORTD_BASE, ulStatus);
if(ulStatus & GPIO_PIN_7)
{
ucKey = GPIOPinRead(GPIO_PORTC_BASE, GPIO_PIN_4);
ucKey = ucKey>>1;
ucValue = ucValue + ucKey;
//ucValue = ucValue<<1;
if(ucValue==0x10)
PWMGenDisable(PWM_BASE, PWM_GEN_0);
if(ucValue==0x20)
PWMGenEnable(PWM_BASE, PWM_GEN_0);
}
}
/*当按下按键1(外设)时,停止发声;按键2开始发声*/
结果问题出来了,编译的时候老是提示
pwmgen.axf: Error: L6218E: Undefined symbol GPIO_PORT_D_ISR (referred from startup.o).
看了网上的提示,说是缺文件,我干脆就把所有的库都加里面了,但是还是不行啊,一直出这个提示!
那位高人帮帮我~~~:(" />" />
我把整个工程都贴上来,大家帮我看看~~~~~~~~~~~~
[
本帖最后由 sptt1 于 2010-9-15 08:31 编辑 ]
此帖出自
小平头技术问答
楼主提到的问题解决了对不?那现在说这个东西没定义,定义一下就好了,unsigned char ucValue ?
我在startup.s上改了这么一个地方!
DCD IntDefaultHandler ; GPIO Port A
DCD IntDefaultHandler ; GPIO Port B
DCD IntDefaultHandler ; GPIO Port C
DCD GPIO_PORT_D_ISR ; GPIO Port D
DCD IntDefaultHandler ; GPIO Port E
我在8楼的基础上多了一个一条语句
DCD IntDefaultHandler ; GPIO Port A
DCD IntDefaultHandler ; GPIO Port B
DCD IntDefaultHandler ; GPIO Port C
EXTERN GPIO_Port_D_ISR
DCD GPIO_PORT_D_ISR ; GPIO Port D
DCD IntDefaultHandler ; GPIO Port E
就是中间那条语句,中断就可以用了!
一周热门 更多>