首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助:外部输入捕捉的问题

求助:外部输入捕捉的问题

自已写了一部分,问了一部分朋友,PE还参照了.
结果还是搞不定,贴出来寻求帮助.

问题是这样的:我用TPM的两个通道进行外部输入捕捉.
TMP0的外部捕捉中断向量是5,和PTA0 I/O口复用
TMP1的外部捕捉中断向量是6,和PTB5 I/O口复用
我在PTA0口设置电平跳变(TMP0),中断向量是5和6都可以进中断.
但在PTB5口设置电平跳变(TMP1),中断向量是5和6都进不了中断.
应该各自的输入产生各自的中断啊.
它们的中断源也不一样,CH0F CH1F
我很奇怪怎么会这样呢?请指教一二!

贴上相关代码.
*********************************************************
void init_TMP(void)
{
PTAPE&=~0X01;
PTADD&=~0X01;
PTBPE&=~0x20;
PTBDD&=~0x20;
PTASE|=0X1F;
PTBSE=0XFF;
PTADS=0X00;
PTBDS=0X00;

TPMSC=0X00;
TPMMOD=0X00;
TPMCNTH=0X00;
TPMC0V=0X00;
TPMC0SC=0X48;
TPMC1V=0X00;
TPMC1SC=0X44;

TPMSC=(TPMSC&(~0X01))|(0X08);
}
*********************************************************
/******************外部捕捉通道0中断记数***************************************/
interrupt 5 void TPM0_interrupt(void)
{
TPM0_num++;
TPMC0SC_CH0F=0;
}
/******************外部捕捉通道1中断记数***************************************/
interrupt 6 void TPM1_interrupt(void)
{
TPM1_num++;
TPMC1SC_CH1F=0;
}
我想要的结果是,每个通道产生各自的中断,便于计数.
请问要做些什么配置呢?还是我的想法不对....
谢谢指教!
中断5 和中断6都要靠TMP0(TPA0)口引发中断,PTB5口根本不起作用.和理论不符啊

PS. 仿真是纯软件进行的.通过设置:debugger->HCSO8FCS->Port pins module->set input....
那你用硬件调试看看...
海纳百川  有容乃大
用了斑主的方法,用硬件调试,结果让人满意.
是可行的.
不过,从此以后我对CW的仿真功能可能有心理阴影了.
软件总归是有BUG的喽...
海纳百川  有容乃大
返回列表