查看: 5545|回复: 13

[求助] [YL-KL26Z开发]使用kinetis SDK库制作呼吸灯

[复制链接]

该用户从未签到

19

主题

401

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1114
最后登录
2017-8-16
发表于 2015-7-13 09:22:24 | 显示全部楼层 |阅读模式
本帖最后由 673402618 于 2015-7-13 09:29 编辑

      板子收到快十天了,前几天一直在做一个蓝牙小车,没抽出时间来折腾板子。

      这是我第一次用飞思卡尔的mcu,之前已经习惯了用stm32的库进行开发,以为这次要用寄存器开发,会有很大难度。上周在群里听说用 kinetis SDK 库开发上手比较简单,于是决定用库。

       Kinetis SDK的核心是一组包含两层构架的驱动代码:硬件抽象层(HAL)和外设驱动层(Peripheral Driver),我用的是外设驱动层库。


库的说明文档还是很丰富的,虽说是英文版, 但难度也不高,可以理解。

下面是我的操作步骤
一、建立工程模板

参考freescaledemo工程建立一个工程模板, 把与KL26Z相关的文件都提取出来,



二、使用库函数点亮板子上的LED灯,产生呼吸灯效果
  • 板子上LED部分的原理图




2.在头文件中定义IO口名称

enum _gpio_pins
{
kGpioLED1 = GPIO_MAKE_PIN(GPIOB_IDX, 0x12),  //PTB18
kGpioLED2 = GPIO_MAKE_PIN(GPIOB_IDX, 0x13),   // PTB19
  kGpioLED3 =  GPIO_MAKE_PIN(GPIOD_IDX, 0x01),   //PTD01
};


3.使用库函数初始化GPIO

void  GPIO_Init()
{
   gpio_output_pin_user_config_t outputPins[] = {
{      
  .pinName = kGpioLED1,      
  .config.outputLogic = 0,   
  .config.slewRate = kPortFastSlewRate,
  .config.driveStrength = kPortHighDriveStrength,
     },
{      
  .pinName = kGpioLED2,   
  .config.outputLogic = 0,   
  .config.slewRate = kPortFastSlewRate,
  .config.driveStrength = kPortHighDriveStrength,
     },   
{      
    .pinName = kGpioLED3,      
  .config.outputLogic = 0,   
  .config.slewRate = kPortFastSlewRate,
  .config.driveStrength = kPortHighDriveStrength,
     },     
     {     
     .pinName = GPIO_PINS_OUT_OF_RANGE,  
  }
};
GPIO_DRV_Init(NULL,outputPins);
}



4.呼吸灯效果

void LED_Blink()
{
int x,y;
GPIO_DRV_TogglePinOutput(kGpioLED1);
for(x=1000;x>0;x--)
{
   for(y=1000;y>0;y--)
   {
   if(x>y)
   {  
   GPIO_DRV_SetPinOutput(kGpioLED2);
   GPIO_DRV_ClearPinOutput(kGpioLED1);
   GPIO_DRV_ClearPinOutput(kGpioLED3);
   }
  else
   {  
   GPIO_DRV_SetPinOutput(kGpioLED3);
   GPIO_DRV_SetPinOutput(kGpioLED1);
   GPIO_DRV_ClearPinOutput(kGpioLED2);
   }
   }
  }
for(x=1000;x>0;x--)
{
   for(y=1000;y>0;y--)
   {
   if(x<y)
   {  
   GPIO_DRV_SetPinOutput(kGpioLED2);
   GPIO_DRV_ClearPinOutput(kGpioLED1);
   GPIO_DRV_ClearPinOutput(kGpioLED3);
   }
  else
   {  
   GPIO_DRV_SetPinOutput(kGpioLED3 );
   GPIO_DRV_SetPinOutput(kGpioLED1);
   GPIO_DRV_ClearPinOutput(kGpioLED2);
   }
   }
  }
}

5.下载程序
Max clock达到了10MHz比之前用的stlink 4MHz快了一倍多,听说jlink速度更快,下周准备把板子上调试器的固件换成Jlink_OpenSDA试试速度怎么样。
三、效果
IMG_20150712_220918.gif IMG_20150712_221016.gif
没有录视频, 就用手机拍了两个GIF 可以看出效果


二楼发文件


我知道答案 目前已有13人回答
20150712215321.png
ddd.png
QQ截图20150713091654.png

评分

参与人数 1NXP金币 +30 收起 理由
小七 + 30 赞一个!

查看全部评分

回复

使用道具 举报

该用户从未签到

19

主题

401

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1114
最后登录
2017-8-16
 楼主| 发表于 2015-7-13 09:23:18 | 显示全部楼层
工程文件

Freescale.zip

13.28 MB, 下载次数: 2623, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

9

主题

80

帖子

0

注册会员

Rank: 2

积分
179
最后登录
2018-5-9
发表于 2015-7-13 09:53:46 | 显示全部楼层
支持一下楼主
回复 支持 反对

使用道具 举报

该用户从未签到

19

主题

401

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1114
最后登录
2017-8-16
 楼主| 发表于 2015-7-13 10:11:41 | 显示全部楼层

谢谢支持
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2016-11-4 16:56
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    8

    主题

    602

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1842
    最后登录
    2020-8-25
    发表于 2015-7-13 12:11:59 | 显示全部楼层
    用的什么IDE?
    速度是可以选择的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16715
    最后登录
    1970-1-1
    发表于 2015-7-13 12:39:47 | 显示全部楼层
    多谢分享
    回复

    使用道具 举报

    该用户从未签到

    19

    主题

    401

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1114
    最后登录
    2017-8-16
     楼主| 发表于 2015-7-13 13:54:06 | 显示全部楼层
    moyanming2013 发表于 2015-7-13 12:11
    用的什么IDE?
    速度是可以选择的。

    我用的MDK, 速度可以改变
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-8-30 16:02
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    36

    主题

    1065

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1851
    最后登录
    2019-11-19
    发表于 2015-7-13 15:11:55 | 显示全部楼层
    希望楼主可以把提取与KL26Z有关的文件的过程分享出来,便于我等小白
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19

    主题

    401

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1114
    最后登录
    2017-8-16
     楼主| 发表于 2015-7-13 16:45:44 | 显示全部楼层
    kingsings 发表于 2015-7-13 15:11
    希望楼主可以把提取与KL26Z有关的文件的过程分享出来,便于我等小白

    二楼的工程文件    我打包上传了,   过程就是把例程的include path中和kl26z相关的文件提取出来,  参照例程重新建立工程。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    169

    帖子

    0

    高级会员

    Rank: 4

    积分
    702
    最后登录
    2017-5-23
    发表于 2015-7-13 17:05:24 | 显示全部楼层
    楼主很霸气呀,唯一不爽的是这次的板子电路上没有把LED和PWM接在一起,如果接在一起,个人感觉开发起呼吸灯来会很爽
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-28 04:56 , Processed in 0.108374 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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