搜索
bottom↓
回复: 37

分享KE02(M0+内核)的SysTick例程,基本Kei MDK

[复制链接]

出0入0汤圆

发表于 2015-1-4 13:37:40 | 显示全部楼层 |阅读模式
本帖最后由 ijlc1314 于 2015-1-4 13:51 编辑

SysTick的使用非常简单,基本与具体使用的芯片没有关系,只要都是M0+内核的芯片应该都是一样的,我使用的是KE02.

初始化设置:
  1. SysTick_Config(10000000);
复制代码

设置成功返回0,失败返回1。只要设置的值不超出范围就可以,我设置的是系统时钟的一半,也就是0.5秒,系统时钟20MHz

中断程序:(蓝色LED每0.5秒翻转一次)
  1. void SysTick_Handler( void )
  2. {
  3.     bsp_led_blue_toggle();
  4. }
复制代码


在 isr.h 文件中增加:
  1. #undef  VECTOR_015
  2. #define VECTOR_015  SysTick_Handler

  3. extern void SysTick_Handler( void );
复制代码


OK,是不是很简单........


<编辑原因:修改错别字>

出0入0汤圆

发表于 2015-1-4 13:40:37 | 显示全部楼层
看起来很简单,但实际不简单

出0入0汤圆

发表于 2015-1-4 13:40:50 | 显示全部楼层
不错 ,坐到沙发啦

出0入0汤圆

发表于 2015-1-4 13:41:15 | 显示全部楼层
good我的KL46也是M0+内核

出0入0汤圆

发表于 2015-1-4 13:42:45 | 显示全部楼层
看到的这部分很简单,功能都封装了

出0入0汤圆

 楼主| 发表于 2015-1-4 13:52:22 | 显示全部楼层
Juggernaut 发表于 2015-1-4 13:41
good我的KL46也是M0+内核

内核一样,这部分的使用应该都是一样的

出0入0汤圆

 楼主| 发表于 2015-1-4 13:53:26 | 显示全部楼层
superrf 发表于 2015-1-4 13:42
看到的这部分很简单,功能都封装了

是的,不用去看数据手册都可以使用

出0入0汤圆

发表于 2015-1-4 13:58:42 | 显示全部楼层
这个systick_config() 最快可以设1吗 ?

出0入0汤圆

发表于 2015-1-4 14:00:08 | 显示全部楼层
holts2 发表于 2015-1-4 13:40
看起来很简单,但实际不简单

我以为抢到沙发啦 ,被你抢先了一步  

出0入0汤圆

发表于 2015-1-4 14:03:54 | 显示全部楼层
建议楼主把MDK的工程贴出来 ,让大家看看基于MDK环境的使用 。

出0入0汤圆

发表于 2015-1-4 14:11:15 | 显示全部楼层
ijlc1314 发表于 2015-1-4 13:53
是的,不用去看数据手册都可以使用

如果自己做板子,原理图不一样了,已经封装的代码还是需要修改,比如说LED接到其他引脚上了

出0入10汤圆

发表于 2015-1-4 14:15:44 | 显示全部楼层
看看具体封装库里  这部分是怎么写的  
搞全一点 理解透一点

出0入93汤圆

发表于 2015-1-4 14:18:16 | 显示全部楼层
确实挺简单,因为楼主写得比较明白

出0入0汤圆

发表于 2015-1-4 14:43:52 | 显示全部楼层
楼主是参考的这个链接么:
【经验分享】基于KE02的systick程序:http://www.amobbs.com/thread-5565884-1-1.html

出0入0汤圆

发表于 2015-1-4 15:01:33 | 显示全部楼层
子鱼 发表于 2015-1-4 14:43
楼主是参考的这个链接么:
【经验分享】基于KE02的systick程序:http://www.amobbs.com/thread-5565884-1-1 ...

这都能被你找到

出0入0汤圆

 楼主| 发表于 2015-1-4 15:15:35 | 显示全部楼层
子鱼 发表于 2015-1-4 14:43
楼主是参考的这个链接么:
【经验分享】基于KE02的systick程序:http://www.amobbs.com/thread-5565884-1-1 ...

不是参考这个帖子的,是参考 core_cm0plus.h 这个头文件的

出0入0汤圆

 楼主| 发表于 2015-1-4 15:16:37 | 显示全部楼层
superrf 发表于 2015-1-4 14:11
如果自己做板子,原理图不一样了,已经封装的代码还是需要修改,比如说LED接到其他引脚上了 ...

是啊,硬件接口改变的时候,软件就需要做出相应的修改,不过最底层的修改一般都比较好改,修改量也比较小

出0入0汤圆

发表于 2015-1-4 15:16:54 | 显示全部楼层
holts2 发表于 2015-1-4 15:01
这都能被你找到

基于KE02的例程比较少  而且看过这个帖子 有点印象

出0入0汤圆

 楼主| 发表于 2015-1-4 15:17:18 | 显示全部楼层
franki 发表于 2015-1-4 14:03
建议楼主把MDK的工程贴出来 ,让大家看看基于MDK环境的使用 。

自己动手试一下岂不是更好?

出0入0汤圆

发表于 2015-1-4 15:17:52 | 显示全部楼层
ijlc1314 发表于 2015-1-4 15:15
不是参考这个帖子的,是参考 core_cm0plus.h 这个头文件的

可以进行一下对比  那个帖子是飞思卡尔的FAE写的

出0入0汤圆

 楼主| 发表于 2015-1-4 15:18:36 | 显示全部楼层
TonyCai 发表于 2015-1-4 14:15
看看具体封装库里  这部分是怎么写的  
搞全一点 理解透一点

代码来了,摘自 core_cm0plus.h

  1. __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
  2. {
  3.   if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)  return (1);      /* Reload value impossible */

  4.   SysTick->LOAD  = ticks - 1;                                  /* set reload register */
  5.   NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS) - 1);  /* set Priority for Systick Interrupt */
  6.   SysTick->VAL   = 0;                                          /* Load the SysTick Counter Value */
  7.   SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |
  8.                    SysTick_CTRL_TICKINT_Msk   |
  9.                    SysTick_CTRL_ENABLE_Msk;                    /* Enable SysTick IRQ and SysTick Timer */
  10.   return (0);                                                  /* Function successful */
  11. }
复制代码

出0入0汤圆

 楼主| 发表于 2015-1-4 15:20:09 | 显示全部楼层
子鱼 发表于 2015-1-4 15:17
可以进行一下对比  那个帖子是飞思卡尔的FAE写的

那个他是 采用codewarrior 10.x 的PE,我没装这个软件

出0入0汤圆

发表于 2015-1-4 15:28:30 | 显示全部楼层
看看内核。。写写代码。也不错。。

出0入0汤圆

发表于 2015-1-4 15:40:19 | 显示全部楼层
谢谢分享。

出0入0汤圆

发表于 2015-1-4 16:09:22 | 显示全部楼层
谢谢分享。

出0入0汤圆

发表于 2015-1-4 17:22:21 | 显示全部楼层
子鱼 发表于 2015-1-4 14:43
楼主是参考的这个链接么:
【经验分享】基于KE02的systick程序:http://www.amobbs.com/thread-5565884-1-1 ...

这个编译环境是CW ,楼主的编译环境是MDK 。

出0入0汤圆

发表于 2015-1-4 19:39:15 | 显示全部楼层
还没有试这个,马上试试,感谢分享

出0入0汤圆

 楼主| 发表于 2015-1-5 19:22:59 来自手机 | 显示全部楼层
彼岸花开@ 发表于 2015-1-4 15:28
看看内核。。写写代码。也不错。。

其实更依赖于库,没心思去慢慢研究底层

出0入0汤圆

发表于 2015-1-6 11:30:25 来自手机 | 显示全部楼层
嗯,有个时候不够时间开发库

出0入0汤圆

发表于 2015-1-6 12:31:59 | 显示全部楼层
不错,这样移植起来比较方便,谢楼主分享

出0入0汤圆

发表于 2015-1-10 23:39:07 | 显示全部楼层
基于MDK环境的例子 ,学习啦 !

出0入0汤圆

发表于 2015-1-11 01:08:11 | 显示全部楼层
的确简单,楼主也简单的搞到了很多飞币啊

出0入0汤圆

 楼主| 发表于 2015-1-11 08:38:14 来自手机 | 显示全部楼层
lzl000 发表于 2015-1-11 01:08
的确简单,楼主也简单的搞到了很多飞币啊

哈哈,为了KL46,再带走几个飞币

出0入0汤圆

发表于 2015-1-11 09:32:36 | 显示全部楼层
ijlc1314 发表于 2015-1-11 08:38
哈哈,为了KL46,再带走几个飞币

能贴代码都是好样的

出0入0汤圆

发表于 2015-1-11 11:24:56 | 显示全部楼层
systick最快能到多少?

出0入0汤圆

 楼主| 发表于 2015-1-11 19:43:33 来自手机 | 显示全部楼层
powerk6 发表于 2015-1-11 11:24
systick最快能到多少?

跟芯片主频一样

出0入0汤圆

发表于 2015-1-11 19:46:53 | 显示全部楼层
哈哈,学习了。

出0入0汤圆

 楼主| 发表于 2015-1-11 23:37:14 来自手机 | 显示全部楼层
wangkangming 发表于 2015-1-11 19:46
哈哈,学习了。

希望对您有用,然后我再带走几个飞币
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 20:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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