打印
[新唐博主]

N76E003捕获PWM输出问题

[复制链接]
809|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
天空任鸟飞|  楼主 | 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 | 只看该作者
说实话,没有太看明白是怎么回事,不过我在慢慢学习中。

使用特权

评论回复
5
xuanhuanzi| | 2020-9-7 22:25 | 只看该作者
相差了多少呢

使用特权

评论回复
6
xuanhuanzi| | 2020-9-7 22:25 | 只看该作者
要知道相差了多少,才好判断是什么问题。

使用特权

评论回复
7
xuanhuanzi| | 2020-9-7 22:26 | 只看该作者
比如,你设置的,根你想要的,不一样,你某个地方理解错了,要说明你想要的跟实际上的情况

使用特权

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

本版积分规则

1

主题

1

帖子

0

粉丝