打印

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

[复制链接]
1854|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mc9s08aw60|  楼主 | 2007-4-16 15:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是这样设置的:
//初始化设置
    (void)(TPM2C0SC==0);            
    TPM2C0SC=0x48;//

    (void)(TPM2SC == 0);              
    TPM2SC = 0x4F; 
//中断
interrupt void Tpm2C0sc_Capture_ISR(void)
{

    TPM2C0SC_CH0IE=0;    
    TPM2C0SC_CH0F=0;

    one_round=1;//中断的标志

  CapTemp2=CapTemp1;
  CapTemp1=TPM2C0VH;
  CapTemp1=(CapTemp1<<8)+TPM2C0VL;
  

   TPM2C0SC_CH0IE=1;
  }  
///////////////////////////////////////////
设置有问题吗?谢谢。

相关帖子

沙发
mc9s08aw60|  楼主 | 2007-4-16 16:51 | 只看该作者

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

使用特权

评论回复
板凳
张明峰| | 2007-4-17 19:28 | 只看该作者

当然可以

作为输入捕捉时,定时器一般工作在自由计数模式,不要用软件去修改其计数值。绝大部分应用中感兴趣的是前后两次捕捉到的时间差,而不是捕捉到的时间点。

另,针对S08内16位值的存取,最好直接用C语言的word类型操作,编译器会生成正确的汇编指令,先后存取两个8位的数。很多时候高低字节存取是讲究先后顺序的,弄倒了会有**烦。请参阅数据手册。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

133

帖子

0

粉丝