[资料分享与下载] 学习官方FRDM-KL26Z_SC

[复制链接]
1173|4
 楼主| 风的样子 发表于 2015-10-31 10:21 | 显示全部楼层 |阅读模式
学习YL-KL26Z一个月了,开发板自带的基于库的例程很容易上手,但不是很完美。如何使用官方例程代码向导创建工程呢?
下载FRDM-KL26Z_SC.rar(9.96 MB, 下载次数: 18)
解压安装。使用文件夹下目录
..\FRDM-KL26Z_SC\FRDM-KL26Z_SC_Rev_1.0\klxx-sc-baremetal\build\keil  里的kl26_make_new_project.exe
,建立工程,双击打开,输入工程名字,回车,可以看到在同个文件里生成了KEIL4.xx工程框架。使用keil5.13打开工程,工程面板好多文件,暂时不管都起什么用,添加路径,编译后,没有错误。



下面添加代码,实现流水灯。
 楼主| 风的样子 发表于 2015-10-31 10:21 | 显示全部楼层
  1. /*
  2. * File:  LEDBLINK.c
  3. * Purpose:  Main process
  4. *
  5. */
  6. #include "common.h"
  7. #ifdef CMSIS
  8. #include "start.h"
  9. #endif
  10. /********************************************************************/
  11. void LED_init(void);
  12. void delay(unsigned long counnt);
  13. int main (void)
  14. {
  15.     SystemCoreClockUpdate ();
  16.     LED_init();
  17. //    char ch;
  18.         
  19. #ifdef CMSIS  // If we are conforming to CMSIS, we need to call start here
  20.     start();
  21. #endif
  22.         
  23. //   printf("\n\r\n\r*** Running the LEDBLINK project ***\n\r");
  24. while(1)
  25. {
  26. //  ch = in_char();
  27. //  out_char(ch);
  28.          delay(60000);
  29.         GPIOB_PTOR =1U<< 18;
  30.         delay(60000);
  31.         GPIOB_PTOR =1U<< 19;
  32.         delay(60000);
  33.         GPIOD_PTOR =1U<< 1;
  34.         delay(60000);
  35. }
  36. }
  37. /********************************************************************/
  38. void LED_init(){
  39.   
  40.     SIM_SCGC5 |= 0x00001582u;      //´ò¿ª PortB PortD Ä£¿éµÄʱÖÓ
  41.    
  42.     PORTB_PCR18|= 0x00000100u;
  43.     PORTB_PCR19|= 0x00000100u;        //ÉèÖà PTB18 19 ¸´ÓÃΪ GPIO ģʽ
  44.     PORTD_PCR1|= 0x00000100u;           //ÉèÖà PTD1 ¸´ÓÃΪ GPIO ģʽ
  45.    
  46.     GPIOB_PSOR |= 1U<< 18;                //³õʼ»¯Êä³ö״̬Ϊ1
  47.     GPIOB_PSOR |= 1U<< 19;
  48.     GPIOD_PSOR |= 1U<< 1;               
  49.    
  50.     GPIOB_PDDR |= 1U<<18;                //ÉèÖÃΪÊä³ö
  51.     GPIOB_PDDR |= 1U<<19;               
  52.     GPIOD_PDDR |= 1U<< 1;
  53.    
  54.     GPIOB_PCOR = 1U<< 18;   //´ò¿ª
  55.     GPIOB_PCOR = 1U<< 19;
  56.     GPIOB_PCOR = 1U<< 1;
  57.    

  58. }
  59. void delay(unsigned long counnt){

  60. volatile int i;

  61. for(i=0; i < counnt; i++){
  62.    
  63. }
  64. }
  65. /***************/

使用这个工具很容易建立空的工程,下面就是添加自己的代码了,没有库,相信寄存器操作难不到你吧。
在调试的过程中,不知道如何粗略确定 延迟函数的时间是多少。
quray1985 发表于 2015-10-31 16:08 来自手机 | 显示全部楼层
官网发的资料真是不错啊
lovecat2015 发表于 2015-11-1 20:55 | 显示全部楼层
风的样子 发表于 2015-10-31 10:21
使用这个工具很容易建立空的工程,下面就是添加自己的代码了,没有库,相信寄存器操作难不到你吧。
在调试 ...

这个是最好的例子了,就得这么学习
gulit78 发表于 2016-1-22 16:14 | 显示全部楼层
附件里是exe 文件?有source code吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

247

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部