分享KE02(M0+内核)的SysTick例程,基本Kei MDK
本帖最后由 ijlc1314 于 2015-1-4 13:51 编辑SysTick的使用非常简单,基本与具体使用的芯片没有关系,只要都是M0+内核的芯片应该都是一样的,我使用的是KE02.
初始化设置:
SysTick_Config(10000000);
设置成功返回0,失败返回1。只要设置的值不超出范围就可以,我设置的是系统时钟的一半,也就是0.5秒,系统时钟20MHz
中断程序:(蓝色LED每0.5秒翻转一次)
void SysTick_Handler( void )
{
bsp_led_blue_toggle();
}
在 isr.h 文件中增加:
#undefVECTOR_015
#define VECTOR_015SysTick_Handler
extern void SysTick_Handler( void );
OK,是不是很简单........
<编辑原因:修改错别字> 看起来很简单,但实际不简单 不错 ,坐到沙发啦 good我的KL46也是M0+内核 看到的这部分很简单,功能都封装了 Juggernaut 发表于 2015-1-4 13:41
good我的KL46也是M0+内核
内核一样,这部分的使用应该都是一样的 superrf 发表于 2015-1-4 13:42
看到的这部分很简单,功能都封装了
是的,不用去看数据手册都可以使用 这个systick_config() 最快可以设1吗 ? holts2 发表于 2015-1-4 13:40
看起来很简单,但实际不简单
我以为抢到沙发啦 ,被你抢先了一步{:lol:} 建议楼主把MDK的工程贴出来 ,让大家看看基于MDK环境的使用 。 ijlc1314 发表于 2015-1-4 13:53
是的,不用去看数据手册都可以使用
如果自己做板子,原理图不一样了,已经封装的代码还是需要修改,比如说LED接到其他引脚上了 看看具体封装库里这部分是怎么写的
搞全一点 理解透一点 确实挺简单,因为楼主写得比较明白 楼主是参考的这个链接么:
【经验分享】基于KE02的systick程序:http://www.amobbs.com/thread-5565884-1-1.html 子鱼 发表于 2015-1-4 14:43
楼主是参考的这个链接么:
【经验分享】基于KE02的systick程序:http://www.amobbs.com/thread-5565884-1-1 ...
这都能被你找到 子鱼 发表于 2015-1-4 14:43
楼主是参考的这个链接么:
【经验分享】基于KE02的systick程序:http://www.amobbs.com/thread-5565884-1-1 ...
不是参考这个帖子的,是参考 core_cm0plus.h 这个头文件的 superrf 发表于 2015-1-4 14:11
如果自己做板子,原理图不一样了,已经封装的代码还是需要修改,比如说LED接到其他引脚上了 ...
是啊,硬件接口改变的时候,软件就需要做出相应的修改,不过最底层的修改一般都比较好改,修改量也比较小 holts2 发表于 2015-1-4 15:01
这都能被你找到
基于KE02的例程比较少而且看过这个帖子 有点印象 franki 发表于 2015-1-4 14:03
建议楼主把MDK的工程贴出来 ,让大家看看基于MDK环境的使用 。
自己动手试一下岂不是更好? ijlc1314 发表于 2015-1-4 15:15
不是参考这个帖子的,是参考 core_cm0plus.h 这个头文件的
可以进行一下对比那个帖子是飞思卡尔的FAE写的 TonyCai 发表于 2015-1-4 14:15
看看具体封装库里这部分是怎么写的
搞全一点 理解透一点
代码来了,摘自 core_cm0plus.h
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
{
if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)return (1); /* Reload value impossible */
SysTick->LOAD= ticks - 1; /* set reload register */
NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);/* set Priority for Systick Interrupt */
SysTick->VAL = 0; /* Load the SysTick Counter Value */
SysTick->CTRL= SysTick_CTRL_CLKSOURCE_Msk |
SysTick_CTRL_TICKINT_Msk |
SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
return (0); /* Function successful */
} 子鱼 发表于 2015-1-4 15:17
可以进行一下对比那个帖子是飞思卡尔的FAE写的
那个他是 采用codewarrior 10.x 的PE,我没装这个软件 看看内核。。写写代码。也不错。。 谢谢分享。 谢谢分享。 子鱼 发表于 2015-1-4 14:43
楼主是参考的这个链接么:
【经验分享】基于KE02的systick程序:http://www.amobbs.com/thread-5565884-1-1 ...
这个编译环境是CW ,楼主的编译环境是MDK 。 还没有试这个,马上试试,感谢分享 彼岸花开@ 发表于 2015-1-4 15:28
看看内核。。写写代码。也不错。。
其实更依赖于库,没心思去慢慢研究底层 嗯,有个时候不够时间开发库 不错,这样移植起来比较方便,谢楼主分享 基于MDK环境的例子 ,学习啦 ! 的确简单,楼主也简单的搞到了很多飞币啊 lzl000 发表于 2015-1-11 01:08
的确简单,楼主也简单的搞到了很多飞币啊
哈哈,为了KL46,再带走几个飞币 ijlc1314 发表于 2015-1-11 08:38
哈哈,为了KL46,再带走几个飞币
能贴代码都是好样的 systick最快能到多少? powerk6 发表于 2015-1-11 11:24
systick最快能到多少?
跟芯片主频一样 哈哈,学习了。 wangkangming 发表于 2015-1-11 19:46
哈哈,学习了。
希望对您有用,然后我再带走几个飞币
页:
[1]