关于输入捕获:每次的结果都不一样。差别挺大的。

[复制链接]
2623|2
 楼主| mc9s08aw60 发表于 2007-4-16 15:30 | 显示全部楼层 |阅读模式
我是这样设置的:<br />//初始化设置<br />&nbsp;&nbsp;&nbsp;&nbsp;(void)(TPM2C0SC==0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;TPM2C0SC=0x48;//<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;(void)(TPM2SC&nbsp;==&nbsp;0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;TPM2SC&nbsp;=&nbsp;0x4F;&nbsp;<br />//中断<br />interrupt&nbsp;void&nbsp;Tpm2C0sc_Capture_ISR(void)<br />{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;TPM2C0SC_CH0IE=0;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;TPM2C0SC_CH0F=0;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;one_round=1;//中断的标志<br /><br />&nbsp;&nbsp;CapTemp2=CapTemp1;<br />&nbsp;&nbsp;CapTemp1=TPM2C0VH;<br />&nbsp;&nbsp;CapTemp1=(CapTemp1&lt&lt8)+TPM2C0VL;<br />&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;TPM2C0SC_CH0IE=1;<br />&nbsp;&nbsp;}&nbsp;&nbsp;<br />///////////////////////////////////////////<br />设置有问题吗?谢谢。
 楼主| mc9s08aw60 发表于 2007-4-16 16:51 | 显示全部楼层

请问:定时器2设置为定时器中断。TPM2C0SC还可以输入捕获吗

  
张明峰 发表于 2007-4-17 19:28 | 显示全部楼层

当然可以

作为输入捕捉时,定时器一般工作在自由计数模式,不要用软件去修改其计数值。绝大部分应用中感兴趣的是前后两次捕捉到的时间差,而不是捕捉到的时间点。<br /><br />另,针对S08内16位值的存取,最好直接用C语言的word类型操作,编译器会生成正确的汇编指令,先后存取两个8位的数。很多时候高低字节存取是讲究先后顺序的,弄倒了会有**烦。请参阅数据手册。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

133

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部