请选择 进入手机版 | 继续访问电脑版
查看: 1927|回复: 1

[原创] Kinetis K60系列之PIT定时中断

[复制链接]

该用户从未签到

16

主题

78

帖子

0

注册会员

Rank: 2

积分
178
最后登录
2018-6-1
发表于 2016-9-22 14:18:46 | 显示全部楼层 |阅读模式
PIT_LDVALn寄存器的值为计数的值。当计数递减为0时,进入中断服务函数,而计数递减的周期是通过kinetis的BUS时钟分频……
PIT定时中断.jpg
PIT的时钟源是总线时钟。总线时钟是由MCGOUTCLK 经OUTDIV2分频得到。(内核时钟是经OUTDIV1分频得到)
  SIM_CLKDIV1 &= ~(7<<25);

SIM_CLKDIV1 |= (1<<24);

PIT定时中断2.jpg

初始化 PIT0定时
  1. void PIT0_Init(void)
  2. {

  3.     SIM_SCGC6 |= (1<<23);
  4.    
  5.     PIT_MCR = 0;
  6.    
  7.     PIT_LDVAL0 =  50000000;
  8.    
  9.     PIT_TCTRL0 |= (3);
  10.    
  11.     enable_irq(68);
  12.    
  13. }
复制代码
isr.h文件 重定义 中断服务函数

  1. #include "project.h"

  2. #undef  VECTOR_084
  3. #define VECTOR_084    PIT0_IRQHandler   

  4. extern void PIT0_IRQHandler(void);
复制代码

isr.C文件 编写中断服务函数

  1. #include "isr.h"

  2. char str[]="PIT0 1000ms ";
  3. U8 i;
  4. void PIT0_IRQHandler(void)
  5. {
  6.   for(i=0;str[i]!='\0';i++)
  7.     Uart4_SendByte(str[i]);
  8.   PIT_TFLG0 |= PIT_TFLG_TIF_MASK;   //清中断标志
  9.   PIT_MCR = 0;   
  10. }
复制代码

PIT定时中断3.png



回复

使用道具 举报

  • TA的每日心情
    开心
    2018-1-30 19:52
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    19

    主题

    628

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1363
    最后登录
    2018-5-28
    发表于 2016-9-22 23:05:00 | 显示全部楼层
    多谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-3-29 14:31 , Processed in 0.110516 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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