求救啊

lance0220   2007-9-3 04:57 楼主
大侠们,我的T1CNT在CCS环境里不能自动记数,可我的使能位都设置过了,初始事件管理器的程序如下:

void init_EV(void)
{
EvaRegs.T1CNT=0;      // 计数初值为0
  EvaRegs.T1CMPR=0x3fff; //设置比较器初值
  EvaRegs.T1PR=0x7fff;   //设置周期      
EvaRegs.COMCONA.all=0xA6E0;//比较控制寄存器A
EvaRegs.T1CON.all=0x1746;  //定时器1的控制寄存器     
EvaRegs.GPTCONA.all=0x017A;  //定时器1、2的控制寄存器,通过设定其中的T1TOADC使定时器1周期中断启动AD;
EvaRegs.EVAIMRA.all=0x0681;  //EVA中断屏蔽寄存器

  EvaRegs.T2CON.all=0x1746;  //定时器2的控制寄存器
  EvaRegs.T2CNT=0;      // 计数初值为0
  EvaRegs.T2CMPR=0x3fff; //设置比较器初值
  EvaRegs.T2PR=0x7fff;   //设置周期   
  
  EvaRegs.EVAIMRA.all=0x0080; //使能TIPINT中断
  EvaRegs.EVAIFRA.all=0x0;    //清除中断标志
}

这些寄存器都在头文件里定义过,已通过编译
我实在不明白,紧急求救啊,万分感谢~!!

回复评论 (6)

程序是否能行运行,是仿真

谢谢楼上大侠回复啊,我是用的C,初值都写进去了
弱弱的问一句,CCS环境里不是有软仿真功能么,是不是必须得加电路板才能看得到计数器工作没有啊?
点赞  2007-9-4 12:30
是的,软仿真只能做一些计算功能,对于需要定时、计数的涉及时间的功能不起作用。
点赞  2007-9-5 00:53
可以用spi和另一个单片机通讯,也可以用spi外扩一个232或者是485或者是422,外扩的很好用
点赞  2007-9-6 02:07
是用的专门芯片啊,通讯效果很好,我用的波特率最高到115200
点赞  2007-9-7 00:57

我也存在这个问题,我看了资料上好像不能啊,只有C才可以

不是用CALL  _NAME就行了吗?
点赞  2007-9-4 12:12
我只在汇编中调用过汇编所编写的函数,可以使用.call  _name,但是不知道能不能调用使用C写的函数!
点赞  2007-9-6 13:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复