网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 服务导航 >> 培训课程 >> C5000 >> 文章正文
  DSP程序中断中使用XF管脚误区           ★★★ 【字体:
DSP程序中断中使用XF管脚误区
作者:Free    文章来源:本站原创    点击数:    更新时间:2008-5-12    

学习DSP,当然是从一些简单的测试程序开始。使一个LED的闪亮是经常用的,但这其中有一个误区,现分析如下,以定时器控制LED灯为例:

 

void main()

   {

    init_5509();

    init_timer();

    while(1)

         {

         asm(" NOP");

         }

   }

 

interrupt void int_timer0()

{

         Flag=Flag+1;

         if   (Flag>10)

 

              asm(" SSBX XF");

 

         else

 

              asm(" RSBX XF");

         if (Flag>20)

 

               Flag=0;

}

 

    这个程序不能实现控制的。使用XF的时候要注意一下,XFST1的一个bit,但是在中断中,首先把ST1压入堆栈,出中断前才弹出堆栈,所以在中断中改变XF没有实际的意义。所以在C/C++加如汇编要谨慎。修改后的程序如下:

 

void main()

{

    init_5509();

    init_timer();

    while(1)

    {

           asm(" NOP");

           if (Flag>10)

 

              asm(" SSBX XF");

 

          else

 

             asm(" RSBX XF");

    }

}

 

interrupt void int_timer0()

{

       Flag=Flag+1;

       if (Flag>20)

 

       Flag=0;

}

 

这个程序就好使。

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    使用C/C++语言编写基于DSP程…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号