51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机技术文章 > MSP430单片机 > 详细内容
MSP430中断服务函数的定义
发布时间:2009/7/27  阅读次数:931  字体大小: 【】 【】【

//为了保证代码可以在IAR编译器的任何版本中都能正确得到编译,所以作以下的条件编译。

#ifdef __IAR_SYSTEMS_ICC__                           //如果编译器是IAR, 那么以下将被编译。

#if __VER__ >= 200

#pragma vector=USART0RX_VECTOR                   //在IAR2.0以上中断函数声明。

__interrupt void SPI0_rx (void)

#else                                                                     //在IAR2.0以下中断函数声明。

interrupt[USART0RX_VECTOR] void SPI0_rx (void)

#endif                                                                   //IAR中断函数声明结束。

{ }



在上述中

USART0RX_VECTOR 是定义中断地址宏,其实就是一个中断矢量值,例如,地址, 0xffe0 。

                                这个中断矢量有芯片型号决定,一旦信号确定,那么所有的终端矢量也就确定了。


SPI0_rx  是中断函数名称,使用者可以根据自己的喜好来编写这个函数名。


  实际例程

//**************************************************************************
//例程描述:利用定时器定时功能,实现P1.0方波输出。

#include <msp430x14x.h>


{
    WDTCTL = WDTPW + WDTHOLD;
                  //停止看门狗WDT,不使用内部看门狗定时器。
    P1DIR |= 0x01;                                         //设置P1.0口方向为输出。
    CCTL0 = CCIE;                                           //设置捕获/比较控制寄存器中CCIE位为1,CCR0捕获/比较功能中断为允许。
    CCR0 = 50000;                                            //捕获/比较控制寄存器CCR0初值为5000。
    TACTL = TASSEL_2 + MC_2;                     //设置定时器A控制寄存器TACTL,使时钟源选择为SMCLK辅助时钟。
    _BIS_SR(LPM0_bits + GIE);                   //进入低功耗模式LPM0和开中断
}

//定时器A 中断服务程序区
//当IAR编译器版本大于或等于2.0以上时,则中断写法格式如下。
#pragma vector=TIMERA0_VECTOR                //定时器A0中断向量
__interrupt void Timer_A (void)            //中断函数
  {
      P1OUT ^= 0x01;                                       //P1.0取反输出
      CCR0 += 50000;                                       //重新载入CCR0捕获/比较数据寄存器数据
  }

//程序结束
//**************************************************************************

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号