楼主: FSL_TICS_ZP

[原创] 从零开始玩转FRDM-KL25Z(28楼,37楼有演示视频)

  [复制链接]

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
 楼主| 发表于 2013-6-18 14:58:17 | 显示全部楼层

回复:从零开始玩转FRDM-KL25Z(有演示视频)

捕获5.JPG

33 ProcessorExpert.c

 
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
 楼主| 发表于 2013-6-18 15:03:31 | 显示全部楼层

回复:从零开始玩转FRDM-KL25Z(有演示视频)

    (三)延时函数—Delay()
      在原函数中,MCU只有在接收到字符后,才会更改LED颜色,如若将原函数修改成闪烁灯程序,需要添加延时函数—Delay(),下面向童鞋们介绍如何运用LPTMR(低功耗定时器)组件生成Delay()函数。关于LPTMR模块的具体介绍,大家可参考KL25Datasheet或者观看论坛里的LPTMR模块介绍视频(https://www.nxpic.org.cn/bbs/article_1282_545321.html),在这就不作具体介绍啊。
          工程代码修改过程如下:
      i 添加组件:在开发环境界面的Components Library对话框选择Alphabetical选项卡,找到名为Inti_LPTMR的组件双击(如图34所示),即可将Inti_LPTMR组件添加到工程中,同时在Components对话框中也会出现Init_LPTMR组件。
Capture6.JPG

34 添加LPTMR组件


        ii  配置组件:在添加完组件后,在Components对话框中单击LPTMR组件,会在开发环境的Component Inspector窗口打开其配置界面,在Clock Setting中,选择Clock select的值为Internal 1kHz LPOPrescaler value/Glitch filter的值为Prescaler/2; Glitch filter not supportedPrescaler bypass的值为Not BypassedTimer mode的值为Timer Counter。整个配置如图35所示。

Capture7.JPG

35 配置LPTMR组件

         iii  生成并编写代码
        配置完组件后还不能真正运行此工程,PE所做的工作仅仅是生成用户所期望的模块函数并设置其参数,真正在哪里调用这些函数还需要开发者自己编写。
         首先需要生成已配置的组件的代码,在Components对话框中选中LPTMR组件,单击 Capture8.JPG 便可生成代码(如图36所示)。
 
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
 楼主| 发表于 2013-6-18 15:11:23 | 显示全部楼层

回复:从零开始玩转FRDM-KL25Z(有演示视频)

Capture9.JPG

36 LPTMR组件代码生成

   接下来返回到Project工程窗口,展开Sources目录并打开其中的Processor Expert.c模块,在代码窗口中可以看到该文件的内容,在其中做如下修改:
定义延时函数—Delay()
void LPTWR_Delay(int period_ms)
    {
      if(!period_ms)
        return;
      LPTMR0_CSR = (uint32_t)(LPTMR0_CSR &= ~LPTMR_CSR_TEN_MASK);
      LPTMR0_CMR = LPTMR_CMR_COMPARE(period_ms);
      /* LPTMR0_CSR: TEN=1 */
      LPTMR0_CSR = (uint32_t)(LPTMR0_CSR |(uint32_t)(LPTMR_CSR_TEN_MASK));
      while(!(LPTMR0_CSR & LPTMR_CSR_TCF_MASK));
      LPTMR0_CSR &= ~LPTMR_CSR_TEN_MASK;
      printf("\nDelay is successful!!\n");
      return;
     }
函数功能:延时period_ms个毫秒,而且在延时完成时,还会向上位机发送Delay is successful!!,有利于程序调试。
 While循环
             修改while循环中的代码,将其中所有的
InpData[0] = getchar();printf("%c",InpData[0]);”注释掉,替换成“LPTWR_Delay500);”作延时1s处理。
代码修改完成后,童鞋们需要重新编译工程
回复 支持 反对

使用道具 举报

该用户从未签到

131

主题

835

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10021
最后登录
1970-1-1
发表于 2013-6-18 15:26:45 | 显示全部楼层

RE:从零开始玩转FRDM-KL25Z(有演示视频)

视频在哪儿呢?
回复 支持 反对

使用道具 举报

该用户从未签到

131

主题

835

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10021
最后登录
1970-1-1
发表于 2013-6-18 15:26:45 | 显示全部楼层

RE:从零开始玩转FRDM-KL25Z(有演示视频)

视频在哪儿呢?
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-6-18 16:19:43 | 显示全部楼层

RE:从零开始玩转FRDM-KL25Z(有演示视频)

小王儿,请看28楼。
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
 楼主| 发表于 2013-6-18 16:38:18 | 显示全部楼层

回复:从零开始玩转FRDM-KL25Z(28楼有演示视频)

    代码编译成功后,连接FRDM-KL25Z开发板进行调试,可观察到板子上的RGB LED每隔0.5秒变换颜色,同时会发送Delay is successful!!PC机,可通过串口猎人工具观察到(如图37所示),而且为了让调试结果更加直观,也录制了一段视频供大家参考,并附上修改完成后的helloworld工程。

Capture10.JPG

37 串口猎人界面

视频链接:

https://v.youku.com/v_show/id_XNTcyMzY1NzY0.html
helloworld工程附件: helloworld.rar (1.08 MB, 下载次数: 265)
回复 支持 反对

使用道具 举报

该用户从未签到

131

主题

835

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10021
最后登录
1970-1-1
发表于 2013-6-19 09:42:06 | 显示全部楼层

回复:从零开始玩转FRDM-KL25Z(28楼,37楼有演示视频)

回复第 36 楼 于2013-06-18 16:19:43发表:
小王儿,请看28楼。 

ok!看到啦~~
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

4

帖子

0

新手上路

Rank: 1

积分
4
最后登录
1970-1-1
发表于 2013-6-21 13:37:07 | 显示全部楼层

RE:从零开始玩转FRDM-KL25Z(28楼,37楼有演示视频)

楼主继续
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
 楼主| 发表于 2013-6-22 11:24:00 | 显示全部楼层

回复:从零开始玩转FRDM-KL25Z(28楼,37楼有演示视频)

回复第 39 楼 于2013-06-21 13:37:07发表:
楼主继续 

谢谢支持,准备中!!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-29 07:51 , Processed in 0.140099 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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