在线情况
楼主
  • 头像
  • 级别
    • 积分13
    • 经验101
    • 文章11
    • 注册2014-03-20
    在TA定时器中刷新数码管问题
    [P][FACE=宋体][SIZE=12px]小弟初学430,求指教,在TA定时器中刷新数码管,俩个基本一样的程序,一个用不了[/FACE]
    [SIZE=12px]MSP430单片机在定时器A中刷新四位数码管(显示A/D结果)如下是正常的:[/SIZE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px]      switch(i)[/FACE][/SIZE][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px]      {[/FACE][/SIZE][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px]         case 3 : {P4OUT=0X00;break;}         //最高位[/FACE][/SIZE][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px]         case 2 : {P4OUT=0X08;break;}[/FACE][/SIZE][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px]         case 1 : {P4OUT=0X10;break;}[/FACE][/SIZE][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px]         case 0 : {P4OUT=0X18;break;}        //[/FACE][/SIZE][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px]     }[/FACE][/SIZE][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px] [/FACE][/SIZE][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][FACE=宋体][SIZE=12px]     P5OUT=LedNumber[buff[i]];  //不加小数点,[/i][/FACE][/SIZE][i][FACE=宋体][SIZE=12px]buff在主循环中变化[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]         [/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]      i++;[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]      if(i>3)i=0;[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]
    [/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]
    [/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]但是我加了小数点后就刷新速度就慢上百倍:老半天数字才变化???真不知什么原因:[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]      [/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]      P5OUT=0;[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]      switch(i)[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]      {[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]         case 3 : {P4OUT=0X00;break;}         // 最高位添加小数点[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]         case 2 : {P4OUT=0X08;break;}[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]         case 1 : {P4OUT=0X10;break;}[/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]         case 0 : {P4OUT=0X18;break;}        //    [/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]      } [/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][FACE=宋体][SIZE=12px]     if(i==3)P5OUT=(LedNumber[buff[i]]|BIT7);//在此处添加小数点[/i][/FACE][/SIZE][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][i][FACE=宋体][SIZE=12px]     else    P5OUT=LedNumber[buff[i]];        //buff在主循环中变化[/i][/FACE][/SIZE][/i][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][i][i][FACE=宋体][SIZE=12px]     [/FACE][/SIZE][/i][/i][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][i][i][FACE=宋体][SIZE=12px]         [/FACE][/SIZE][/i][/i][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][i][i][FACE=宋体][SIZE=12px]      i++;[/FACE][/SIZE][/i][/i][/i][/FACE][/SIZE][/P][P][FACE=宋体][SIZE=9pt][i][i][i][FACE=宋体][SIZE=12px]      if(i>3)i=0;[/FACE][/SIZE][/i][/i][/i][/FACE][/SIZE][/P]
    [ 此贴最后由DC在2014-3-30 12:29:57编辑过 ]
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
    • 门派
    • 职务总版主
    • 声望+9
    • 财富5
    • 积分3065
    • 经验390701
    • 文章6744
    • 注册2006-03-07
    从你的程序上看不出来什么问题,只是做一个判断而已。[P]刷新速度变慢了,好似有东西在影响到你的定时频率,首先你确定一下加判断与不加前后的定时频率是否一样。可以通过示波器来查看。如果真的因为某些语句影响到,则要考虑的是你的定时频率是否过高(我觉得可能性不大)?如果改的前后频率一样,那么可能就不是这个原因了。只能提供这些意见给你...。[/P]
    [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
    Powered by LeadBBS 9.2 .
    Page created in 0.1875 seconds with 5 queries.