查看: 1542|回复: 0

[其他] 求助关于TPM的输入捕捉功能 谢谢!!!

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
7
最后登录
2015-5-29
发表于 2015-5-28 10:55:42 | 显示全部楼层 |阅读模式
找不到哪里可以请教一些关于单片机的知识,发到这里不知道可不可以= =
用MC9S08JM60的板子写了个程序,目的是测两个信号之间的时间差,想法是利用板子的两个按键(PTBD4&PTBD5)来提供下降沿,按下按键,输入电平从高变为低,提供下降沿,利用TPM1的通道1和2来捕捉下降沿,分别利用两个LED(PTBD0&PTBD1)来显示进入了中断, 如果进入中断,则点亮对应的LED。   
这样,通过两次中断,分别去读对应的计数器的值,可以计算出两个信号(两个下降沿)之间的时间差,应该是一个很简单的程序,却不知道哪里出了问题,LED不会亮,应该是没进中断。     
程序附在下面,希望好心的老师同学可以帮帮忙看看,谢谢!!!
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */


void PTBDD_INIT(void);
long i,j,c,x;
void main(void) {

  DisableInterrupts;//关闭中断
  SOPT1=0x03;//关狗

  PTBDD_INIT(); //对管脚初始化
  

  x=TPM1SC;
  TPM1SC_TOF=0;//对TPM1SC溢出标志清除
  TPM1SC_TOIE=0;  //TPM1中断禁止
  TPM1SC_CPWMS=0;//加法计数器方式
  TPM1SC_CLKSB=0; //总线时钟
  TPM1SC_CLKSA=1;
  TPM1SC_PS0=0;//1分频
  TPM1SC_PS1=0;
  TPM1SC_PS2=0;
  TPM1CNT=0x0000;// TPM计数器清零
  TPM1MOD=0x0000; //自由计数模式      
  

  TPM1C1SC_CH1F=0;
  TPM1C2SC_CH2F=0;
  TPM1C1SC_CH1IE=1; //1.2通道中断使能
  TPM1C2SC_CH2IE=1;
  TPM1C1SC_MS1B=0; //通道输入捕捉
  TPM1C1SC_MS1A=0;
  TPM1C2SC_MS2B=0;
  TPM1C2SC_MS2A=0;
  TPM1C1SC_ELS1B=1;//下降沿捕捉
  TPM1C1SC_ELS1A=0;
  TPM1C2SC_ELS2B=1;
  TPM1C2SC_ELS2A=0;
  
  EnableInterrupts; /* enable interrupts */
  /* include your code here */
  
  for( ; ; ) {
   
   
    //__RESET_WATCHDOG(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
void PTBDD_INIT(void){
PTBDD_PTBDD4=0;
PTBDD_PTBDD5=0;
PTBDD_PTBDD0=1;
PTBDD_PTBDD1=1;
PTBD_PTBD0=1;
PTBD_PTBD1=1;
}


void interrupt 10 tpm_isr1(){
  i=TPM1C1VH*256+TPM1C1VL;
  PTBD_PTBD0=0;   
  TPM1C1SC=TPM1C1SC&0x48;  //TPM1频道1中断标识清除   
  
  
}
void interrupt 11 tpm_isr2(){
  j=TPM1C2VH*256+TPM1C2VL;
  PTBD_PTBD1=0;
  TPM1C2SC=TPM1C2SC&0x48;   //TPM1频道2中断标识清除
  
}




我知道答案 目前已有0人回答
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 10:22 , Processed in 0.085117 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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