智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2316|回复: 8
打印 上一主题 下一主题

关于T5口输入捕捉设定,程序

[复制链接]

10

主题

328

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3005
威望
1474
贡献
873
兑换币
923
注册时间
2012-11-15
在线时间
329 小时
跳转到指定楼层
1#
发表于 2012-12-2 22:48:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家都知道,两轮车,两个编码器,单片机只有一个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,,,到底问题出在哪?求大神指教,,,

38

主题

1651

帖子

0

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
8770
威望
4444
贡献
2638
兑换币
1818
注册时间
2010-12-29
在线时间
844 小时
2#
发表于 2012-12-3 09:08:01 | 只看该作者
那个频率很高的呀,你是什么组别的呀?摄像头组万万不能这么搞啊。
回复 支持 反对

使用道具 举报

10

主题

328

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3005
威望
1474
贡献
873
兑换币
923
注册时间
2012-11-15
在线时间
329 小时
3#
 楼主| 发表于 2012-12-3 21:08:47 | 只看该作者
yukunlinykl 发表于 2012-12-3 09:08
那个频率很高的呀,你是什么组别的呀?摄像头组万万不能这么搞啊。

神马频率很高???这个只是为了给编码器计数用,,,
回复 支持 反对

使用道具 举报

38

主题

1651

帖子

0

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
8770
威望
4444
贡献
2638
兑换币
1818
注册时间
2010-12-29
在线时间
844 小时
4#
发表于 2012-12-3 22:24:34 | 只看该作者
戒灬 发表于 2012-12-3 21:08
神马频率很高???这个只是为了给编码器计数用,,,

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

使用道具 举报

10

主题

328

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3005
威望
1474
贡献
873
兑换币
923
注册时间
2012-11-15
在线时间
329 小时
5#
 楼主| 发表于 2012-12-4 08:46:33 | 只看该作者
yukunlinykl 发表于 2012-12-3 22:24
这个频率是指编码器的信号每秒有多少个周期。
如果信号频率非常高,那么中断函数会频繁被调用。
有可能 ...

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

使用道具 举报

38

主题

1651

帖子

0

精华

功勋会员

Rank: 10Rank: 10Rank: 10

积分
8770
威望
4444
贡献
2638
兑换币
1818
注册时间
2010-12-29
在线时间
844 小时
6#
发表于 2012-12-4 10:40:32 | 只看该作者
戒灬 发表于 2012-12-4 08:46
有道理,,但现在还没做外部计数器,只能先用用中断了,,,,20毫秒50个脉冲,应该还可以在承受范围内才 ...

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

使用道具 举报

10

主题

328

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3005
威望
1474
贡献
873
兑换币
923
注册时间
2012-11-15
在线时间
329 小时
7#
 楼主| 发表于 2012-12-4 19:12:39 | 只看该作者
为什么对摄像头就是灾难、?只是好奇,我是光电直立的,,
回复 支持 反对

使用道具 举报

12

主题

174

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1156
威望
654
贡献
300
兑换币
157
注册时间
2012-2-21
在线时间
101 小时
8#
发表于 2012-12-28 10:54:10 | 只看该作者
戒灬 发表于 2012-12-4 19:12
为什么对摄像头就是灾难、?只是好奇,我是光电直立的,,

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

使用道具 举报

10

主题

328

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3005
威望
1474
贡献
873
兑换币
923
注册时间
2012-11-15
在线时间
329 小时
9#
 楼主| 发表于 2012-12-29 22:22:12 | 只看该作者
tomlllttt 发表于 2012-12-28 10:54
我们也在惆怅这个问题,光电的ccd也要用到很多的中断,其实类似摄像头。。。现在不知道测速怎么搞呢
到底 ...

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-28 06:23 , Processed in 0.063133 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表