返回信息流#include "DSP28_Device.h"
Uint16 temp;
void CAP2init()
{
EvaRegs.GPTCONA.all=0x0000;
EvaRegs.CAP2FBOT=0x0000;
EvaRegs.CAP2FIFO=0x0000;
EvaRegs.CAPFIFO.all=0x0000;
EvaRegs.T1PR=0xffff;
EvaRegs.T1CNT=0x0000;
EvaRegs.CAPCON.all=0x0210; //捕获单元2为检测上升沿,选择Timer1为时钟
EvaRegs.T1CON.all = 0xf74c; //Timer1 为连续增,预分频系数为128
}
void IOinit()
{
EALLOW;
GpioMuxRegs.GPAMUX.bit.CAP2Q2_GPIOA9 =1; //使能 CAP2 引脚
EDIS;
}
main(void)
{
InitSysCtrl(); //系统初始化
DINT; //禁止和清除所有CPU中断
IER = 0x0000;
IFR = 0x0000;
IOinit();
CAP2init();
EvaRegs.T1CNT=0x0000;
EvaRegs.CAPCON.bit.CAPQEPN=1;
while (1)
{
if((EvaRegs.CAPFIFO.bit.CAP2FIFO)==2)
{
temp=EvaRegs.CAP2FBOT-EvaRegs.CAP2FIFO;
(EvaRegs.CAPFIFO.bit.CAP2FIFO)=0;
}
}
观察窗看到EvaRegs.CAP2FBOT和EvaRegs.CAP2FIFO的值一直在变化,但是temp的值有时候运行起来变化一下,剩下基本上就不动了,有大牛给讲解一下吗
附件(300.1KB) 131266348cap(10-6).rar
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #9999同步于 2010/12/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
dsp2812捕捉单元采集的数据无法写入变量中
luanweiye
2010/12/17镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
【 在 nickluchen 的大作中提到: 】
: 把 EvaRegs.CAP2FBOT 和 EvaRegs.CAP2FIFO 声明为volatile类型试一下
: --
还是不行啊,其实想一下也知道的...这些寄存器变量都是人家定义好的...应该都没问题