查看: 3497|回复: 5

[已解决] KL16进不了TPM中断

[复制链接]
  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 1679 天

    连续签到: 2 天

    [LV.Master]伴坛终老

    8

    主题

    1709

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5247
    最后登录
    2025-7-21
    发表于 2018-12-13 08:40:27 | 显示全部楼层 |阅读模式
    本帖最后由 jian0052 于 2018-12-13 15:51 编辑

    如题,请大神们指点,代码如下
    1. void  init_TPM1(void)
    2. {
    3.         SIM_SCGC6 |= (SIM_SCGC6_TPM1_MASK ); //开启TPM1时钟
    4.         SIM_SOPT2 |=  SIM_SOPT2_PLLFLLSEL_MASK | SIM_SOPT2_TPMSRC(1); //input clock source is MCGPLL/2=24MHz
    5.         TPM1_SC =  TPM_SC_PS(5);//Divide by 32
    6.         TPM1_CNT = 0;
    7.         TPM1_MOD = 30;             //50ms    37500
    8.         TPM1_SC |= TPM_SC_CMOD(1);    //start the counter
    9. }

    10. void  TPM1_IRQHandler(void)
    11. {
    12.         TPM1_SC |=TPM_SC_TOF_MASK;
    13.         GPIO_TOGGLE(MKL_PORTD,6);
    14. }

    15. int main (void)            
    16.   {
    17.         /*Enable all operation modes because this is a write once register*/  
    18.        SMC_PMPROT =  SMC_PMPROT_AVLLS_MASK |
    19.                       SMC_PMPROT_ALLS_MASK  |   
    20.                       SMC_PMPROT_AVLP_MASK;
    21.             
    22.        SystemCoreClockUpdate();

    23.        SIM_SCGC5 |= (SIM_SCGC5_PORTA_MASK
    24.                       | SIM_SCGC5_PORTB_MASK
    25.                       | SIM_SCGC5_PORTC_MASK
    26.                       | SIM_SCGC5_PORTD_MASK
    27.                       | SIM_SCGC5_PORTE_MASK );   

    28.               IO_FUN_SEL(MKL_PORTD,6,1);  //使能IO
    29.              GPIO_DDR_INPUT(MKL_PORTD,6); //配置为输入,
    30.                         
    31.                         
    32.               IO_IRQ_CONFIG(MKL_PORTD,6,0x09);
    33.               NVIC_EnableIRQ(PORTC_PORTD_IRQn);

    34.               init_TPM1();
    复制代码

    最佳答案

    jian0052 发表于 2018-12-14 08:58 总中断加了,没效果 仿真时看了寄存器TPM_CNT_REG(((TPM_MemMapPtr)0x40039000u)),没有值,是不是TPM1没 ... 说明TPM根本就没跑起来,要么就是时钟也有问题,你看看TPM的时钟源有 ...
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24891
    最后登录
    2025-7-21
    发表于 2018-12-13 16:29:15 | 显示全部楼层
            #define EnableInterrupts __enable_irq()
    开启总中断加了吗?
    另外,你debug看下,你的TPM counter有没有更新的,至少要保证TPM的确运行起来了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 1679 天

    连续签到: 2 天

    [LV.Master]伴坛终老

    8

    主题

    1709

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5247
    最后登录
    2025-7-21
     楼主| 发表于 2018-12-13 16:43:12 | 显示全部楼层
    我去加了试试
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 1679 天

    连续签到: 2 天

    [LV.Master]伴坛终老

    8

    主题

    1709

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5247
    最后登录
    2025-7-21
     楼主| 发表于 2018-12-14 08:58:18 | 显示全部楼层
    小恩GG 发表于 2018-12-13 16:29
    #define EnableInterrupts __enable_irq()
    开启总中断加了吗?
    另外,你debug看下,你的TPM counter有没有 ...

    总中断加了,没效果
    仿真时看了寄存器TPM_CNT_REG(((TPM_MemMapPtr)0x40039000u)),没有值,是不是TPM1没有正确配置?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24891
    最后登录
    2025-7-21
    发表于 2018-12-14 17:36:02 | 显示全部楼层
    jian0052 发表于 2018-12-14 08:58
    总中断加了,没效果
    仿真时看了寄存器TPM_CNT_REG(((TPM_MemMapPtr)0x40039000u)),没有值,是不是TPM1没 ...

    说明TPM根本就没跑起来,要么就是时钟也有问题,你看看TPM的时钟源有时钟吗。
    这样,你用官方的代码试试。
    1. http://www.nxp.com/downloads/en/lab-test-software/KL25_SC.exe
    复制代码

    这个是KL25的,不过TPM是一样的,你可以参考这里面的TPM中断代码。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 1679 天

    连续签到: 2 天

    [LV.Master]伴坛终老

    8

    主题

    1709

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5247
    最后登录
    2025-7-21
     楼主| 发表于 2018-12-15 16:13:49 | 显示全部楼层
    谢谢版主,搞定了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 20:18 , Processed in 0.098616 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表