智能车制作

标题: 关于T5口输入捕捉设定,程序 [打印本页]

作者: 戒灬    时间: 2012-12-2 22:48
标题: 关于T5口输入捕捉设定,程序
大家都知道,两轮车,两个编码器,单片机只有一个T7口是脉冲累加器,这是硬伤。。。现在一个编码器用T7口,另一个想要使用T口输入捕捉中断的方法,,想设置T5口为输入捕捉中断的输入口,初始化程序如下:
void ECT_Init(void)   
// 输入捕捉设定         
{              
                  // T3口输入捕捉   
  PERT=0xA0;      
  TIOS_IOS5=0;       // TIOS_IOSx为0表示,设定通道x为输入捕捉,为1则表示设为输出捕捉通道。
  TCTL4=0x40;        // TCTL4为控制寄存器,此处为设定为捕捉上升沿
  TIE_C5I=1;         // TIE_C0I表示通道0输入捕捉/输出比较0中断使能
  TSCR1=0x80;        // TSCR1为计时器系统控制寄存器1,bit 7-TEN,定时器使能位,要使用定时器的IC/OC功能,必须将TEN置位
}

void interrupt 13 InputCapture0(void)
{
                //清中断标志位  
  TFLG1_C5F=1;
  Count_Speed_Right_Temp++;
}  

编译的时候没问题,理论上应该也没问题,电路测过了也没问题,但是实际上使用就有问题,变量Count_Speed_Right_Temp一直都是0,,,到底问题出在哪?求大神指教,,,

作者: yukunlinykl    时间: 2012-12-3 09:08
那个频率很高的呀,你是什么组别的呀?摄像头组万万不能这么搞啊。

作者: 戒灬    时间: 2012-12-3 21:08
yukunlinykl 发表于 2012-12-3 09:08
那个频率很高的呀,你是什么组别的呀?摄像头组万万不能这么搞啊。

神马频率很高???这个只是为了给编码器计数用,,,

作者: yukunlinykl    时间: 2012-12-3 22:24
戒灬 发表于 2012-12-3 21:08
神马频率很高???这个只是为了给编码器计数用,,,

这个频率是指编码器的信号每秒有多少个周期。
如果信号频率非常高,那么中断函数会频繁被调用。
有可能影响其他部分的正常运行。

作者: 戒灬    时间: 2012-12-4 08:46
yukunlinykl 发表于 2012-12-3 22:24
这个频率是指编码器的信号每秒有多少个周期。
如果信号频率非常高,那么中断函数会频繁被调用。
有可能 ...

有道理,,但现在还没做外部计数器,只能先用用中断了,,,,20毫秒50个脉冲,应该还可以在承受范围内才对,,

作者: yukunlinykl    时间: 2012-12-4 10:40
戒灬 发表于 2012-12-4 08:46
有道理,,但现在还没做外部计数器,只能先用用中断了,,,,20毫秒50个脉冲,应该还可以在承受范围内才 ...

还是有点高,要不是摄像头,影响不大,要是摄像头,那就是灾难。
尽快做外部计数器吧。CD4520就行,很简单的电路。

作者: 戒灬    时间: 2012-12-4 19:12
为什么对摄像头就是灾难、?只是好奇,我是光电直立的,,
作者: tomlllttt    时间: 2012-12-28 10:54
戒灬 发表于 2012-12-4 19:12
为什么对摄像头就是灾难、?只是好奇,我是光电直立的,,

我们也在惆怅这个问题,光电的ccd也要用到很多的中断,其实类似摄像头。。。现在不知道测速怎么搞呢
到底用外部计数器还是程序测速。。。

作者: 戒灬    时间: 2012-12-29 22:22
tomlllttt 发表于 2012-12-28 10:54
我们也在惆怅这个问题,光电的ccd也要用到很多的中断,其实类似摄像头。。。现在不知道测速怎么搞呢
到底 ...

程序中断比较浪费时间,感觉外部计数略胜一筹,,虽然我现在还用程序中断测速,,





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