智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 14185|回复: 25
打印 上一主题 下一主题

[软件类] 关于脉冲累加器中的PACNT

  [复制链接]

8

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
386
威望
283
贡献
43
兑换币
2
注册时间
2010-4-4
在线时间
30 小时
跳转到指定楼层
1#
发表于 2010-7-23 16:29:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
昨天刚看完输出比较,今天来看脉冲累加器,自己写程序试了一下,却发现 S12 系列的书中所写的脉冲累加器计数寄存器如:PACN32,PACN10还有普遍的PACNx(X=0~3),在程序编译时都说不存在,只看到一个近似的PACNT,却不知道怎么用。各位能帮忙解释一下若要用与PACNx功能相同的寄存器,应该怎么写啊?还有这个PACNT又该怎么用呢?多谢各位啊!

8

主题

61

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
386
威望
283
贡献
43
兑换币
2
注册时间
2010-4-4
在线时间
30 小时
2#
 楼主| 发表于 2010-7-23 20:24:37 | 只看该作者
我用的芯片是S12XS的。
回复

使用道具 举报

3

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
365
威望
263
贡献
24
兑换币
0
注册时间
2010-9-12
在线时间
39 小时
3#
发表于 2010-10-24 21:01:20 | 只看该作者
我也各种不懂,但是PACNT10是PACN1和PACN0联级之后的和PACNT类似的计数寄存器,PACN32同理
回复

使用道具 举报

10

主题

393

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2616
威望
1303
贡献
589
兑换币
39
注册时间
2011-3-19
在线时间
362 小时
4#
发表于 2011-3-23 14:54:51 | 只看该作者
回复

使用道具 举报

19

主题

99

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1292
QQ
威望
375
贡献
875
兑换币
12
注册时间
2010-11-9
在线时间
21 小时
5#
发表于 2011-3-24 11:44:29 | 只看该作者
因为xs128中只有脉冲累加器A,取消了脉冲累加器b和模数递减器,增加了PIT
回复

使用道具 举报

10

主题

78

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1857
QQ
威望
320
贡献
1447
兑换币
0
注册时间
2010-10-29
在线时间
45 小时
6#
发表于 2011-3-24 13:46:46 | 只看该作者
PACNT是核心计数器16位的 xs128只有1个可以用也就是  PT7口
DG128有两个     至于你想要看多么详细 那还是看官方的XS128资料吧
回复

使用道具 举报

1

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
119
威望
184
贡献
25
兑换币
0
注册时间
2010-11-30
在线时间
1 小时
7#
发表于 2011-4-1 13:06:43 | 只看该作者
因为你看的资料是DG128的,而XS128的芯片没有该功能,只有一个PA脉冲累加器
回复

使用道具 举报

1

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
威望
210
贡献
47
兑换币
0
注册时间
2011-4-7
在线时间
7 小时
8#
发表于 2011-4-8 20:25:17 | 只看该作者
XS和DG不一样了,只有脉冲累加器A
回复

使用道具 举报

1

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
威望
210
贡献
47
兑换币
0
注册时间
2011-4-7
在线时间
7 小时
9#
发表于 2011-4-8 20:26:55 | 只看该作者
XS128中的脉冲累加器和DG128的很不一样。相对DG128来说,XS128的脉冲累加器大大简化了,其中只有三个寄存器需要设置:PACTL、PAFLG、PACNT。
        16位脉冲累加器PACT与IOC7共用一个引脚。顾名思义,脉冲累加器就是对有效边沿(上升沿或下降沿)进行计数,然后把计数的值保存在寄存器PACNT中。寄存器PACTL是16位脉冲累加器的核心,几乎所有的设置都是在这个寄存器中。
        接下来解剖一下这个核心寄存器PACTL:

PAEN:脉冲累加器允许位,置1,则工作。置0,则禁止。PAEN与TEN无关,定时器TEN禁止时,脉冲累加器仍可以工作。
PAMOD:工作方式选择位。置1,为门控时间累加器方式。置0,为事件计数器方式。
        门控时间累加器方式:输入引脚上的有效电平会触发脉冲累加器对64分频后的时钟进行计数。
        事件计数器方式:脉冲累加器对引脚上的每个有效边沿计数。引脚上每产生一个有效边沿,脉冲累加器计数器的值就会加1。
PEDGE:边沿跳变控制位。它的功能和脉冲累加器的工作方式有关。如下表:

(0  0):事件计数器方式,下降沿有效
(0  1):事件计数器方式,上升沿有效
(1       0):门控时间累加器方式,IOC7引脚上的高电平使64分频后的总线时钟输入到脉冲累加器中。
(1       1):门控时间累加器方式,IOC7引脚上的低电平使64分频后的总线时钟输入到脉冲累加器中。
CLK0~CLK1:时钟选择位。其功能如下表:

(0       0):使用TIM中分频后的定时器时钟作为计数时钟
(0       1):选PACLK作为计数时钟
(1       0):选PACLK/256作为计数时钟
(2       1):选PACLK/65536作为计数时钟
其中PACLK是对总线时钟进行64分频后的时钟。
PAVOI:脉冲累加器溢出中断允许位。置1,则允许中断产生。置0,则禁止中断。
PAI:脉冲累加器输入中断允许位。置1,则允许中断产生。置0,则禁止中断。

标志寄存器PAFLG:

PAVOF:当脉冲累加器溢出时,此位置1。如果有PAVOI=1时,则产生中断。向该位写1,可以清除标志位。
PAIF:当在IOC7引脚上检测到选定的边沿跳变,此位置1。在事件计数方式下,事件沿跳变会使该位置位。在门控时间累加器方式下,IOC7引脚上门控信号的最后一个下降沿使该位置位。对其写1,可以清除标志位。

计数寄存器PACNT:
回复

使用道具 举报

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
威望
272
贡献
48
兑换币
14
注册时间
2010-11-23
在线时间
27 小时
10#
发表于 2011-4-17 19:33:28 | 只看该作者
芯片型号选错了吧
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 00:49 , Processed in 0.377926 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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