[技术问答] N76E003捕获PWM输出问题

[复制链接]
 楼主| 天空任鸟飞 发表于 2020-9-2 20:06 | 显示全部楼层 |阅读模式
以下这段代码是抄来的,新塘N76E003
输入50hz PWM  捕获转为P12输出 用逻辑分析器测试时间不对,请求大神指点
void Capture_ISR (void) interrupt 12
{
        unsigned int TMP;
clr_CAPF0; // clear capture0 interrupt flag
TMP =(unsigned int)C0H<<8;
TMP = C0L; // For capture mode CxL/CxHwith data capture from I/O pin
P12 = TMP;
//P12 = ~P12; //toggle GPIO1 to show int
printf("\n TM2 CAP 0x%bX",C0H);
clr_TF2;
}
/***************************************************************************************************
*********
* Main function
****************************************************************************************************
********/
void main (void)
{
Set_All_GPIO_Quasi_Mode;
InitialUART0_Timer3(115200);
P00_Input_Mode;
P00 = 1;
TIMER2_CAP0_Capture_Mode;
IC3_P00_CAP0_BothEdge_Capture;
set_ECAP; //Enable Capture interrupt
set_TR2; //Triger Timer2
set_EA;
while(1);
}
chenqianqian 发表于 2020-9-4 17:50 来自手机 | 显示全部楼层
main函数里面IC3_P00_CAP0_BothEdge_Capture这句程序是开起了PWM的上升沿和下降沿都捕获,这样你在中断里面输出肯定就不对啊!
天灵灵地灵灵 发表于 2020-9-5 20:16 | 显示全部楼层
这个怎么理解呢。
嵌入小菜菜 发表于 2020-9-6 07:48 | 显示全部楼层
说实话,没有太看明白是怎么回事,不过我在慢慢学习中。
xuanhuanzi 发表于 2020-9-7 22:25 | 显示全部楼层
相差了多少呢
xuanhuanzi 发表于 2020-9-7 22:25 | 显示全部楼层
要知道相差了多少,才好判断是什么问题。
xuanhuanzi 发表于 2020-9-7 22:26 | 显示全部楼层
比如,你设置的,根你想要的,不一样,你某个地方理解错了,要说明你想要的跟实际上的情况
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

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