初学者问个弱智问题

2019-03-24 14:25发布


#include <msp430x14x.h> #define uchar unsigned char
#define uint  unsigned int uchar num[8]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; void delay( void )
{
  uint i, j;
  for(i = 0; i < 30000; i++)
    for(j = 0; j < 500; j++);
} void main( void )
{
  uchar z;
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P2DIR = 0XFF;
  while(1)
  {
    for(z = 0; z < 8; z++)
    {
      P2OUT = num[z];
      delay();
    }
  }
} 为什么P2口上的8个LED全亮了?下面的程序为什么能实现流水灯而上面的不行呢?
#include <msp430x14x.h> #define uchar unsigned char
#define uint  unsigned int uchar num[8]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; void delay( uint time )
{
  uint i, j;
  for(i = 0; i < time; i++)
    for(j = 0; j < 500; j++);
} void main( void )
{
  uchar z;
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P2DIR = 0XFF;
  while(1)
  {
    for(z = 0; z < 8; z++)
    {
      P2OUT = num[z];
      delay(30000);
    }
  }
}

  此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
brucege888
2019-03-25 16:17
办法2:给循环变量加上volatile修饰试试。

一周热门 更多>

相关问题

    相关文章