智能车制作

标题: 我编了一定时器控制led灯闪烁程序,哪有错误,求大神指教 [打印本页]

作者: 电光飞飞    时间: 2014-1-19 11:46
标题: 我编了一定时器控制led灯闪烁程序,哪有错误,求大神指教
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
void PIT(void);
void main(void)
{
  unsigned int aa;
  aa=0;
  DDRB=0xff;
  for(;;)
  {
    void PIT(void);
    if(aa%2==0)
     PORTB=0x01;
    if(aa%2!=0)
     PORTB=0x0;
  }
}
void PIT(void)
{
  PITMTLD0=199;
  PITCFLMT=0x83;
  PITMUX=0xfe;
  PITLD0=15999;
  PITINTE=0x01;
  PITFLT=0x01;
  PITCE=0x01;
}
void interrupt 66 PIT0_RE(void)
{
  PITTF=0x01;
   {
      unsigned int aa;
      aa=0;
      aa++;
      if(aa==100)
      aa=0;
   }
}
作者: Jyoun    时间: 2014-1-19 12:01
本帖最后由 Jyoun 于 2014-1-19 12:03 编辑

你每次都把aa赋值成0了,去掉这一句,然后aa定义前加上static,或者把aa定义成全局变量。另外主函数里的aa定义也去掉。
作者: wzp1992    时间: 2014-1-19 12:58
楼上正解!
作者: 电光飞飞    时间: 2014-1-19 13:10
Jyoun 发表于 2014-1-19 12:01
你每次都把aa赋值成0了,去掉这一句,然后aa定义前加上static,或者把aa定义成全局变量。另外主函数里的aa定 ...

亲 是这样的么?
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
void PIT(void);
void main(void)
{
  aa=0;
  DDRB=0xff;
  for(;;)
  {
    void PIT(void);
    if(aa%2==0)
     PORTB=0x01;
    if(aa%2!=0)
     PORTB=0x0;
  }
}
void PIT(void)
{
  PITMTLD0=199;
  PITCFLMT=0x83;
  PITMUX=0xfe;
  PITLD0=15999;
  PITINTE=0x01;
  PITFLT=0x01;
  PITCE=0x01;
}
void interrupt 66 PIT0_RE(void)
{
  PITTF=0x01;
   {
      static unsigned int aa;
      aa++;
      if(aa==100)
      aa=0;
   }
}

作者: Jyoun    时间: 2014-1-19 13:42
电光飞飞 发表于 2014-1-19 13:10
亲 是这样的么?
#include       /* common defines and macros */
#include "derivative.h"      /* d ...

各种问题,怎么说呢。。。

作者: wait小乖    时间: 2014-1-20 20:07
PIT初始化咋加到循环里去了?
初始化好了时间就固定了撒
作者: 电光飞飞    时间: 2014-1-21 18:14
wait小乖 发表于 2014-1-20 20:07
PIT初始化咋加到循环里去了?
初始化好了时间就固定了撒

哦 谢谢





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2