打印
[Kinetis]

KE02系列systick资料介绍不多,请问有没有精准延时的例子?

[复制链接]
3815|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wgsxsm|  楼主 | 2013-9-25 22:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
FSL_TICS_ZJJ| | 2013-9-26 10:12 | 只看该作者
你好,KE02的核用的是cortex-m0+,这块建议你看内核文档,page186 chapter 10,这里这里专门讲关于systick的配置,这个文档我上传,且已经标注出来。其实在KE系列的CPU文件夹下,有systick.c可以供你使用,至于具体的延时时间,你可以根据core frequence计算出来相应的值,填到SYST_RVR中。另外,KL25Z例程下,low_power_demo的low_power_demo.c中,最后也有一个关于使用systick中断的例子可以供你参考。希望能帮到你。

使用特权

评论回复
板凳
wgsxsm|  楼主 | 2013-9-26 10:20 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-9-26 10:12
你好,KE02的核用的是cortex-m0+,这块建议你看内核文档,page186 chapter 10,这里这里专门讲关于systick的 ...

嗯,好的,多谢
昨天晚上我想到了KL系列的例子应该有systick的例子,结果没有看到...
晚上回去再仔细看一遍

使用特权

评论回复
地板
wgsxsm|  楼主 | 2013-9-26 10:21 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-9-26 10:12
你好,KE02的核用的是cortex-m0+,这块建议你看内核文档,page186 chapter 10,这里这里专门讲关于systick的 ...

顺便问一下,内核文档的链接地址
谢谢

使用特权

评论回复
5
FSL_TICS_ZJJ| | 2013-9-26 11:13 | 只看该作者
不好意思,这个上传只能10M,文档超过了10M,所以我这边只能给你个链接你自己下载,内容page186 chapter 10,下载地址:http://ishare.iask.sina.com.cn/f/35509508.html

使用特权

评论回复
6
wgsxsm|  楼主 | 2013-9-26 11:59 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-9-26 11:13
不好意思,这个上传只能10M,文档超过了10M,所以我这边只能给你个链接你自己下载,内容page186 chapter 10 ...

OK
非常感谢

使用特权

评论回复
7
FSL_TICS_ZJJ| | 2013-9-26 12:21 | 只看该作者
很高兴能够帮到您,感谢您对飞思卡尔产品的关注!

使用特权

评论回复
8
FSL_TICS_ZJJ| | 2013-9-26 14:30 | 只看该作者
楼主,你好!如果这个问题已经回答满意了,还恳请您把您的标题改为结贴哦,多谢了

使用特权

评论回复
9
wgsxsm|  楼主 | 2013-9-26 14:39 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-9-26 14:30
楼主,你好!如果这个问题已经回答满意了,还恳请您把您的标题改为结贴哦,多谢了 ...

目前还不能结贴,发帖的时限未到1天

使用特权

评论回复
10
FSL_TICS_ZJJ| | 2013-9-26 14:42 | 只看该作者
好的,多谢您对飞思卡尔产品的关注,到时间的话还麻烦您关一下,深表感谢!

使用特权

评论回复
11
wgsxsm|  楼主 | 2013-9-26 20:49 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-9-26 10:12
你好,KE02的核用的是cortex-m0+,这块建议你看内核文档,page186 chapter 10,这里这里专门讲关于systick的 ...


请问红色框框的值是20000000吗?

使用特权

评论回复
12
FSL_TICS_ZJJ| | 2013-9-27 09:46 | 只看该作者
你好,core clock 其实是由你所用芯片决定的,这里举个例子,如果你使用的是MKE02Z64VLD2,其中VLD2中的2就代表是20MHZ,具体你可以查看你芯片的datasheet。

使用特权

评论回复
13
wgsxsm|  楼主 | 2013-9-27 09:53 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-9-27 09:46
你好,core clock 其实是由你所用芯片决定的,这里举个例子,如果你使用的是MKE02Z64VLD2,其中VLD2中的2就 ...

据我理解也是这样,不过我做20M用时,感觉延时不对...

使用特权

评论回复
14
FSL_TICS_ZJJ| | 2013-9-27 09:55 | 只看该作者
本帖最后由 FSL_TICS_ZJJ 于 2013-9-27 10:07 编辑

是吗?有没有测试差多少呢?另外,配置方面有没有问题?

使用特权

评论回复
15
wgsxsm|  楼主 | 2013-9-27 10:04 | 只看该作者
void delay_init()     
{
    SysTick_CLKSourceConfig(SysTick_CLKSource_BUSCLK);   //CLKSOURCE=1
    fac_us=SystemCoreClock/1000000;        //20000000/1000000=20
    fac_ms=(u16)fac_us*1000;
}

void delay_us(u32 nus)
{        
    u32 temp;            
    SysTick->LOAD=nus*fac_us;            
    SysTick->VAL=0x00;      
    SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;     
    do
    {
        temp=SysTick->CTRL;
    }
    while(temp&0x01&&!(temp&(1<<16)));/
    SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;     
    SysTick->VAL =0X00;        
}

void delay_ms(u16 nms)
{                     
    u32 temp;           
    SysTick->LOAD=(u32)nms*fac_ms;
    SysTick->VAL =0x00;           
    SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;         
    do
    {
        temp=SysTick->CTRL;
    }
    while(temp&0x01&&!(temp&(1<<16)));
    SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;   
    SysTick->VAL =0X00;               
}


我昨天就这么写的
理论上应该是这样的
delay_ms(1000)延时1s感觉有2-3秒的样子
请帮忙看看哪里有问题!@
谢谢

使用特权

评论回复
16
FSL_TICS_ZJJ| | 2013-9-27 10:09 | 只看该作者
你好,顺便把你工程发给我吧,我调试试!

使用特权

评论回复
17
wgsxsm|  楼主 | 2013-9-27 10:57 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-9-27 10:09
你好,顺便把你工程发给我吧,我调试试!

文件老是上传不了
请问有没有QQ啊,我站内给你发信息了


使用特权

评论回复
18
FSL_TICS_ZJJ| | 2013-9-27 11:05 | 只看该作者
本帖最后由 FSL_TICS_ZJJ 于 2013-9-27 11:07 编辑

你的信息已经收到,并且站内已回,我会尽快帮您处理这个问题!

使用特权

评论回复
19
64xiaodian| | 2016-1-27 17:17 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-9-26 11:13
不好意思,这个上传只能10M,文档超过了10M,所以我这边只能给你个链接你自己下载,内容page186 chapter 10 ...

刚好学习一下:lol

使用特权

评论回复
20
dianhang| | 2016-9-2 00:56 | 只看该作者
wgsxsm 发表于 2013-9-27 10:04
void delay_init()     
{
    SysTick_CLKSourceConfig(SysTick_CLKSource_BUSCLK);   //CLKSOURCE=1

楼主 请问这个问题解决了
我也遇到这个问题

使用特权

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

本版积分规则

34

主题

652

帖子

4

粉丝