智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 27459|回复: 44
打印 上一主题 下一主题

[控制类] xs128脉冲累加器PT7 初始化程序 (测速)

  [复制链接]

5

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
258
贡献
30
兑换币
0
注册时间
2010-3-28
在线时间
16 小时
跳转到指定楼层
1#
发表于 2010-6-30 15:03:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
6贡献
本帖最后由 weng439 于 2010-6-30 15:23 编辑

下面是测试的 程序:

TCNT =0x00;
    TSCR1=0x80;//时钟允许
    TSCR2=0x04;//div by 16
   
    PACTL=0x30;//PT7 PIN,PACN32 16BIT,FALLing edge,NOT INTERRUPT
    TCTL3=0xc0;//c-输入捕捉7任何沿有效,            
    TCTL4=0x03;//0表示ICx禁止, 1表示上升沿, 2表示下降沿, 3表示任何沿      
    TIE  =0x00;//每一位对应相应通道中断允许,0表示禁止中断
    TIOS =0x00;//每一位对应通道的: 0输入捕捉,1输出比较
    TCTL3_EDG7x=1;//c-输入捕捉7任何沿有效,
    TCTL4_EDG0x=1;

可是在主函数中调用PACNT 这个变量的时候 一直是 0。

硬件上用的编码器 用示波器测过输出端口的确是有比较清楚的脉冲波形。

请高手赐教!!

最佳答案

查看完整内容

以前发的找不到了,再发一遍:(我也是抄的,谁的忘了)

9

主题

123

帖子

0

精华

常驻嘉宾

猫爸爸

Rank: 8Rank: 8

积分
3602
威望
1062
贡献
1380
兑换币
318
注册时间
2009-12-11
在线时间
580 小时
2#
发表于 2010-6-30 15:03:05 | 只看该作者
以前发的找不到了,再发一遍:(我也是抄的,谁的忘了)
  1. void PAInit(void)
  2. {
  3. DisableInterrupts; //禁止中断

  4. TSCR1_TFFCA=1; //快速清除flag:PAOVF PAIF

  5. /* DATASHEET P472
  6. * To operate the 16-bit pulse accumulator independently of input capture or output compare 7 and 0
  7. * respectively the user must set the corresponding bits IOSx = 1, OMx = 0 and OLx = 0. OC7M7 in the
  8. * OC7M register must also be cleared.
  9. */
  10. TIOS_IOS7=1; //单独使用16位脉冲累加器
  11. OC7M_OC7M7=0;; //注意此时必须令IOS7=1,OC7M7=0,OM7=0,OL7=0
  12. TCTL1_OM7=0;
  13. TCTL1_OL7=0;

  14. PACTL_PAMOD=0; //事件计数方式
  15. //PACTL_PEDGE=1; //PT7引脚上的出现上升沿时脉冲累加器计数器加1
  16. //PACTL_PAOVI=1; //允许脉冲累加器产生溢出时引发中断
  17. //PACTL_PAI=1; //允许PT7引脚上出现上升沿时引发中断
  18. PACTL_PAEN=1; //启动脉冲累加器A
  19. PACNT = 0x0000;

  20. }
复制代码
回复

使用道具 举报

5

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
258
贡献
30
兑换币
0
注册时间
2010-3-28
在线时间
16 小时
3#
 楼主| 发表于 2010-6-30 15:20:57 | 只看该作者
自己顶
回复

使用道具 举报

5

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
258
贡献
30
兑换币
0
注册时间
2010-3-28
在线时间
16 小时
4#
 楼主| 发表于 2010-6-30 15:21:15 | 只看该作者
自己顶   
回复

使用道具 举报

5

主题

113

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1064
威望
430
贡献
532
兑换币
6
注册时间
2009-12-5
在线时间
51 小时
5#
发表于 2010-6-30 22:45:17 | 只看该作者
xs128好像没有脉冲累加器。
回复

使用道具 举报

5

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
258
贡献
30
兑换币
0
注册时间
2010-3-28
在线时间
16 小时
6#
 楼主| 发表于 2010-7-1 09:16:16 | 只看该作者
有的吧  有一个 PT7
回复

使用道具 举报

5

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
258
贡献
30
兑换币
0
注册时间
2010-3-28
在线时间
16 小时
7#
 楼主| 发表于 2010-7-1 09:16:40 | 只看该作者
高手来帮帮忙吧
回复

使用道具 举报

5

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
258
贡献
30
兑换币
0
注册时间
2010-3-28
在线时间
16 小时
8#
 楼主| 发表于 2010-7-1 10:03:45 | 只看该作者
测过波形正常的,为什么就是测不到PACNT 呢一直是0 、???????
回复

使用道具 举报

5

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
258
贡献
30
兑换币
0
注册时间
2010-3-28
在线时间
16 小时
9#
 楼主| 发表于 2010-7-1 15:13:45 | 只看该作者
终于找出原因了,发现原来不是程序的原因 ,原来是 因为输入脉冲幅值不够,怪不得检测不到 ,用了一个反相器就行了,好不容易啊。谢谢了
回复

使用道具 举报

5

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
320
QQ
威望
258
贡献
30
兑换币
0
注册时间
2010-3-28
在线时间
16 小时
10#
 楼主| 发表于 2010-7-1 15:14:35 | 只看该作者
回复 2# cat888


    谢谢啦!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-27 04:04 , Processed in 0.133387 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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