打印
[技术问答]

新唐NUC029LAN,P4.3引脚无法触发PWM Capture中断

[复制链接]
1845|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wjwfive|  楼主 | 2017-8-25 09:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我是使用PWM3通道来实现PWM Capture功能,NUC029LAN有两个引脚可以配置复用成PWM3,一个是P2.3,一个是P4.3,但无论我怎么设置MFP复用寄存器,只有P2.3可以成功设置成PWM Capture并可触发中断,而P4.3就不行。不过P4.3配置成PWM输出则是正常的,所以看起来应该是可以复用成PWM3的,不明白为何Capture中断就是不能触发。

请问有哪位有过这个经验的可以指点迷津?

沙发
heisexingqisi| | 2017-8-25 12:46 | 只看该作者
/****************************************************************************
* [url=home.php?mod=space&uid=288409]@file[/url]     config.c
* [url=home.php?mod=space&uid=895143]@version[/url]  V1.10
* [url=home.php?mod=space&uid=212281]@date[/url]     2017/08/25-12:46:36
* [url=home.php?mod=space&uid=247401]@brief[/url]    NuMicro generated code file
*
* Copyright (C) 2013-2017 Nuvoton Technology Corp. All rights reserved.
*****************************************************************************/

/********************
MCU: NUC029LAN(LQFP48)
Pin Configuration:
Pin 12: PWM3
Pin 30: ICE_CLK
Pin 31: ICE_DAT
Module Configuration:
PWM3(Pin:12)
ICE_CLK(Pin:30)
ICE_DAT(Pin:31)
GPIO Configuration:
P4.3: PWM3(Pin:12)
P4.6: ICE_CLK(Pin:30)
P4.7: ICE_DAT(Pin:31)
********************/

#include "NUC029xAN.h";
/*
* @brief This function provides the configued MFP registers
* @param None
* [url=home.php?mod=space&uid=266161]@return[/url] None
*/
void SYS_Init(void)
{
    //SYS->P0_MFP = 0x00000000;
    //SYS->P1_MFP = 0x00000000;
    //SYS->P2_MFP = 0x00000000;
    //SYS->P3_MFP = 0x00000000;
    //SYS->P4_MFP = 0x000000C8;

    //If the defines do not exist in your project, please refer to the related sys.h in the sys_h folder appended to the tool package.
    SYS->P0_MFP = 0x00000000;
    SYS->P1_MFP = 0x00000000;
    SYS->P2_MFP = 0x00000000;
    SYS->P3_MFP = 0x00000000;
    SYS->P4_MFP = SYS_MFP_P47_ICE_DAT | SYS_MFP_P46_ICE_CLK | SYS_MFP_P43_PWM3;

    return;
}

/*** (C) COPYRIGHT 2013-2017 Nuvoton Technology Corp. ***/

使用特权

评论回复
板凳
heisexingqisi| | 2017-8-25 12:47 | 只看该作者

使用特权

评论回复
地板
734774645| | 2017-8-26 15:15 | 只看该作者
官方不是有这个例子吗,看看

使用特权

评论回复
5
734774645| | 2017-8-26 15:16 | 只看该作者
下那个BSP,里面好像有这个功能的演示。

使用特权

评论回复
6
wanduzi| | 2017-8-26 19:42 | 只看该作者
解决了没,我也着急这个问题

使用特权

评论回复
7
天灵灵地灵灵| | 2017-8-27 16:29 | 只看该作者
昨天我看了M051的那个PWM捕获,没用过029的

使用特权

评论回复
8
杨凯瑞| | 2020-12-28 10:12 | 只看该作者
来自三年后的我也碰到这个问题。P43捕获不了PWM,但是可以输出PWM。

使用特权

评论回复
9
杨凯瑞| | 2020-12-30 15:22 | 只看该作者
问题解决了,这个因该是BUG.想要P43复用为PWM3就必须把P41复用为PWM1
        SYS->P4_MFP &=  ~(SYS_MFP_P41_Msk|SYS_MFP_P43_Msk);
        SYS->P4_MFP |= (SYS_MFP_P41_PWM1|SYS_MFP_P43_PWM3) ;

使用特权

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

本版积分规则

6

主题

17

帖子

0

粉丝