BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #9999同步于 2010/12/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

dsp2812捕捉单元采集的数据无法写入变量中

luanweiye
2010/12/17镜像同步2 回复
#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
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
nickluchen机器人#1 · 2010/12/17
把 EvaRegs.CAP2FBOT 和 EvaRegs.CAP2FIFO 声明为volatile类型试一下
luanweiye机器人#2 · 2010/12/17
【 在 nickluchen 的大作中提到: 】 : 把 EvaRegs.CAP2FBOT 和 EvaRegs.CAP2FIFO 声明为volatile类型试一下 : -- 还是不行啊,其实想一下也知道的...这些寄存器变量都是人家定义好的...应该都没问题