[技术问答] 新唐NUC029LAN,P4.3引脚无法触发PWM Capture中断

[复制链接]
 楼主| 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 | 显示全部楼层
  1. /****************************************************************************
  2. * [url=home.php?mod=space&uid=288409]@file[/url]     config.c
  3. * [url=home.php?mod=space&uid=895143]@version[/url]  V1.10
  4. * [url=home.php?mod=space&uid=212281]@date[/url]     2017/08/25-12:46:36
  5. * [url=home.php?mod=space&uid=247401]@brief[/url]    NuMicro generated code file
  6. *
  7. * Copyright (C) 2013-2017 Nuvoton Technology Corp. All rights reserved.
  8. *****************************************************************************/

  9. /********************
  10. MCU: NUC029LAN(LQFP48)
  11. Pin Configuration:
  12. Pin 12: PWM3
  13. Pin 30: ICE_CLK
  14. Pin 31: ICE_DAT
  15. Module Configuration:
  16. PWM3(Pin:12)
  17. ICE_CLK(Pin:30)
  18. ICE_DAT(Pin:31)
  19. GPIO Configuration:
  20. P4.3: PWM3(Pin:12)
  21. P4.6: ICE_CLK(Pin:30)
  22. P4.7: ICE_DAT(Pin:31)
  23. ********************/

  24. #include "NUC029xAN.h";
  25. /*
  26. * @brief This function provides the configued MFP registers
  27. * @param None
  28. * [url=home.php?mod=space&uid=266161]@return[/url] None
  29. */
  30. void SYS_Init(void)
  31. {
  32.     //SYS->P0_MFP = 0x00000000;
  33.     //SYS->P1_MFP = 0x00000000;
  34.     //SYS->P2_MFP = 0x00000000;
  35.     //SYS->P3_MFP = 0x00000000;
  36.     //SYS->P4_MFP = 0x000000C8;

  37.     //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.
  38.     SYS->P0_MFP = 0x00000000;
  39.     SYS->P1_MFP = 0x00000000;
  40.     SYS->P2_MFP = 0x00000000;
  41.     SYS->P3_MFP = 0x00000000;
  42.     SYS->P4_MFP = SYS_MFP_P47_ICE_DAT | SYS_MFP_P46_ICE_CLK | SYS_MFP_P43_PWM3;

  43.     return;
  44. }

  45. /*** (C) COPYRIGHT 2013-2017 Nuvoton Technology Corp. ***/
heisexingqisi 发表于 2017-8-25 12:47 | 显示全部楼层
734774645 发表于 2017-8-26 15:15 | 显示全部楼层
官方不是有这个例子吗,看看
734774645 发表于 2017-8-26 15:16 | 显示全部楼层
下那个BSP,里面好像有这个功能的演示。
wanduzi 发表于 2017-8-26 19:42 | 显示全部楼层
解决了没,我也着急这个问题
天灵灵地灵灵 发表于 2017-8-27 16:29 | 显示全部楼层
昨天我看了M051的那个PWM捕获,没用过029的
杨凯瑞 发表于 2020-12-28 10:12 | 显示全部楼层
来自三年后的我也碰到这个问题。P43捕获不了PWM,但是可以输出PWM。
杨凯瑞 发表于 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

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

6

主题

17

帖子

0

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