[资料] 【经验分享】一个“特殊”的模块
282 查看
0 回复
 楼主 | 发布于 2020-09-21 | 只看楼主
分享到:
一个“特殊”的模块
Ø问题
         客户想实现如下目标:
      首先,将引脚P1_20设置成复用功能:T0_CAP2,同时配置Timer0实现此引脚上升沿捕获并使能中断触发功能,接着,将频率100Hz,占空比50%的PWM波与此引脚相接。虽然,示波器很明显的显示着PWM波已连接到P1_20脚,但中断始终未被触发,程序也未进入到中断函数中去?

图 1
Ø错误分析
       在排查错误的过程中,在一开始,自然地目光聚焦于Timer0 的捕获功能配置是否正确,在仔细对照参考手册,查看寄存器配置后,可将此故障来源给排除掉,并在最后,将问题锁定于GIMA(Global Input Multiplexer)模块,其中文名称叫做:全局多路输入阵列,允许交叉连接事件驱动外设的多个输入和输出,比如定时器(Timer)、SCT和ADC0/1等。

      而对Timer 0 CAP_2引脚来讲,由对应的CAP0_2_IN 寄存器控制,而且CAP0_2_IN [SELECT] 就用于CAP_2引脚的分配,发现没,T0_CAP2并不是默认选项,这才是问题的根源。所以,以后涉及到定时器(Timer)、SCT和ADC0/1事件驱动外设配置时,要多留个心哦!!

图 2

Untitled1.jpg (85.63 KB, 下载次数: 5)

下载附件

2016-12-6 14:32 上传

图 3

本帖有更多资源,需 登录 才可以下载,没有帐号?立即 注册

(0 ) (0 )
回复 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部