打印
[Kinetis]

【Kinetis实验】+ 求助K20的滴答时钟疑问

[复制链接]
976|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在STM32中选择外部时钟源即可实现滴答定时器的计数
void delay_ms(u16 nms)
{                     
    u32 temp;           
    SysTick->LOAD=(u32)nms*fac_ms;//时间加载(SysTick->LOAD为24bit)
    SysTick->VAL =0x00;           //清空计数器
    SysTick->CTRL=0x01 ;          //开始倒数  
    do
    {
        temp=SysTick->CTRL;
    }
    while(temp&0x01&&!(temp&(1<<16)));//等待时间到达   
    SysTick->CTRL=0x00;       //关闭计数器
    SysTick->VAL =0X00;       //清空计数器              
}   
而在K20里要选择内部时钟源才可以实现计数定时,否则滴答时钟停止工作
    SysTick->CTRL=0x05 ;          //开始倒数  
请问为什么?期待大神的解答

相关帖子

沙发
FSL_TICS_Robin| | 2014-9-23 14:48 | 只看该作者
楼主你好
这两天在外面培训所以没有及时回复你。
建议你看下参考手册K20P100M72SF1RM的3.2.1.2 System Tick Timer章节描述:

使用特权

评论回复
板凳
茫茫大士|  楼主 | 2014-9-23 15:01 | 只看该作者
FSL_TICS_Robin 发表于 2014-9-23 14:48
楼主你好
这两天在外面培训所以没有及时回复你。
建议你看下参考手册K20P100M72SF1RM的3.2.1.2 System Tick ...

谢谢了

使用特权

评论回复
地板
jd972594| | 2014-9-25 08:48 | 只看该作者
没有注意过嘀嗒时钟原来还可以选外部的呀。
这个模块资料好少,参考手册里好像都没有寄存器描述。

使用特权

评论回复
5
FSL_TICS_Robin| | 2014-9-25 09:11 | 只看该作者
茫茫大士 发表于 2014-9-23 15:01
谢谢了

不用客气呢:D
各家的MCU还是存在区别的,所以大家遇到问题是还要根据芯片具体型号对应的参考手册来看。
下次遇到问题欢迎再来飞思卡尔MCU论坛发帖与大家一起讨论。

使用特权

评论回复
6
FSL_TICS_Robin| | 2014-9-25 09:12 | 只看该作者
jd972594 发表于 2014-9-25 08:48
没有注意过嘀嗒时钟原来还可以选外部的呀。
这个模块资料好少,参考手册里好像都没有寄存器描述。 ...

Systick是内核的模块,所以寄存器都在ARM官方文档里描述。
我们论坛有好几篇经验分享涉及到Systick,你可以参考着学习一下。

使用特权

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

本版积分规则

16

主题

259

帖子

0

粉丝