共2条
1/1 1 跳转至页
msp430 请教msp430的问题

问
我用MSP430f413芯片做程序加入中断函数后,有如下的错误提示,不知识是何原因,请高手执教
Error[Pe077]: this declaration has no storage class or type specifier
Error[Pe065]: expected a ";"
Warning[Pe012]: parsing restarts here after previous syntax error
源程序如下:
//========================================//
//收藏:清风徐徐
//EMAIL:XSL88888@tom.com
//qq:78779514
//=========================================//
//BEIJING LSD MCU TECH CO.,LTD
//P1.0口做外部中断的设置,做成多任务以便扩展
// MSP430FXXX
// -----------------
// /|\| XIN|- /|\
// | | | |
// --|RST XOUT|- |
// | | 1MΩ
// | P1.0|<--|
// 0.1uF
// |
// \|/
#include <MSP430x41x.h>
unsigned char ISR_Symbol=0; //任务标志
void Iint_Port1(void); //函数声明
void main(void)
{ WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
Iint_Port1(); //初始化p1.0
_EINT(); //开总中断允许
while(1)
{
LPM3; //进入低功耗模式3,I/O口中断可将其唤醒
if((ISR_Symbol&BIT0)==BIT0) {ISR_Symbol&=~BIT0;} //中断服务程序
else if((ISR_Symbol&BIT1)==BIT1) {ISR_Symbol&=~BIT1;} //其他任务
}
}
interrupt[PORT1_VECTOR] void P1_ISR(void)
{ P1IFG=0; //多源中断,需靠软件清除P1IFG
ISR_Symbol|=BIT0; //置任务标志
_BIC_SR_IRQ(LPM3_bits); //将CPU从睡眠模式唤醒
}
void Iint_Port1(void)
{ P1DIR&=~BIT0; //设置为输入方向
P1SEL&=~BIT0; //设置为普通I/O口功能
P1IES|=BIT0; //选择下降沿触发
P1IE|=BIT0; //打开中断允许
P1IFG=0; //P1IES的切换可能使P1IFG置位,需清除
} 答 1: 关键字用__interrupt参考一下ti的例子就可以
Error[Pe077]: this declaration has no storage class or type specifier
Error[Pe065]: expected a ";"
Warning[Pe012]: parsing restarts here after previous syntax error
源程序如下:
//========================================//
//收藏:清风徐徐
//EMAIL:XSL88888@tom.com
//qq:78779514
//=========================================//
//BEIJING LSD MCU TECH CO.,LTD
//P1.0口做外部中断的设置,做成多任务以便扩展
// MSP430FXXX
// -----------------
// /|\| XIN|- /|\
// | | | |
// --|RST XOUT|- |
// | | 1MΩ
// | P1.0|<--|
// 0.1uF
// |
// \|/
#include <MSP430x41x.h>
unsigned char ISR_Symbol=0; //任务标志
void Iint_Port1(void); //函数声明
void main(void)
{ WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
Iint_Port1(); //初始化p1.0
_EINT(); //开总中断允许
while(1)
{
LPM3; //进入低功耗模式3,I/O口中断可将其唤醒
if((ISR_Symbol&BIT0)==BIT0) {ISR_Symbol&=~BIT0;} //中断服务程序
else if((ISR_Symbol&BIT1)==BIT1) {ISR_Symbol&=~BIT1;} //其他任务
}
}
interrupt[PORT1_VECTOR] void P1_ISR(void)
{ P1IFG=0; //多源中断,需靠软件清除P1IFG
ISR_Symbol|=BIT0; //置任务标志
_BIC_SR_IRQ(LPM3_bits); //将CPU从睡眠模式唤醒
}
void Iint_Port1(void)
{ P1DIR&=~BIT0; //设置为输入方向
P1SEL&=~BIT0; //设置为普通I/O口功能
P1IES|=BIT0; //选择下降沿触发
P1IE|=BIT0; //打开中断允许
P1IFG=0; //P1IES的切换可能使P1IFG置位,需清除
} 答 1: 关键字用__interrupt参考一下ti的例子就可以
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |