[资料分享与下载] 小灯亮起

[复制链接]
 楼主| cowboy2014 发表于 2015-11-2 20:13 | 显示全部楼层 |阅读模式
这块板子开发的平台真的很多,freescale公司提供的CW、KDS两种软件可以,网上编译的mbed也行,最通用的MDK、IAR也可以。基本可以满足很多不同领域面向不同对象的客户的需求了。无论你是否用过freescale,就凭这点开发上手相对而言也容易了很多呀。

这几种开发方式都想体验下。先就着已有的资料,看下基于keil的例程吧。
测试源码->MDK->YL-K26Z_demo->GPIO->Demo_KEY_GPIO->Keil

先说优点:
整个界面蛮清爽的,程序风格很适合初学者,不是那种一上来就全是寄存器的让人头疼,层层深入,一层层的嵌入,看的很舒服,不错,可以很快引导初学者进入状态。
再说缺点吧:
真不是我嫌弃,试了好几个例程,编译后都有警告,有点小小的不爽,作为产品推出的,怎么例程还无法做到编译完美通过呢。等例程都研究完了一定专门发个帖子把这些有警告的修整方式汇总下。

回到程序,可以很清晰的看见各个调用的函数其实基本都已封装集成好了。
程序要实现的功能是分别按下K3,、K4使得D6、D5(即TS12、TS13触摸按键处的灯)交替闪烁,D7闪烁
 楼主| cowboy2014 发表于 2015-11-2 20:13 | 显示全部楼层
  1. int  main (void)
  2. {
  3.     SystemCoreClockUpdate();
  4.     SIM_SCGC5 |= (SIM_SCGC5_PORTA_MASK
  5.                   | SIM_SCGC5_PORTB_MASK
  6.                   | SIM_SCGC5_PORTC_MASK
  7.                   | SIM_SCGC5_PORTD_MASK
  8.                   | SIM_SCGC5_PORTE_MASK );   
  9.    
  10.     uart0Init(9600,0,0,8,1);
  11.     printf("YL-KL25Z128 KEY Test start\r\n");
  12.                 PORT_ENABLE_CLK(MKL_PORTA);
  13.                 PORT_ENABLE_CLK(MKL_PORTB);  
  14.     PORT_ENABLE_CLK(MKL_PORTB);                                         /* ʹÄÜPORTʱÖÓ                 */
  15.     PORT_ENABLE_CLK(MKL_PORTD);
  16.    
  17.     IO_FUN_SEL(MKL_PORTB,18,1);                                         /* D5£¬D6£¬D7µÄIOÅäÖà                  */
  18.     IO_FUN_SEL(MKL_PORTB,19,1);
  19.     IO_FUN_SEL(MKL_PORTD,1,1);   
  20.                 IO_FUN_SEL(MKL_PORTD,6,1);                                           /*K3*/
  21.                 IO_FUN_SEL(MKL_PORTA,4,1);                                           /*K4*/  
  22.    
  23.                 GPIO_DDR_OUTPUT(MKL_PORTB,18);                                      /* IOÉèÖÃΪÊä³öģʽ             */
  24.     GPIO_DDR_OUTPUT(MKL_PORTB,19);
  25.     GPIO_DDR_OUTPUT(MKL_PORTD,1);   
  26.     GPIO_DDR_INPUT(MKL_PORTD,6);
  27.                
  28.     GPIO_SET(MKL_PORTB,18);                                             /* IOÉèÖÃΪ¸ßµçƽ£¬LEDϨÃð      */
  29.     GPIO_SET(MKL_PORTB,19);
  30.     GPIO_SET(MKL_PORTD,1);   
  31.    
  32.     while(1){                         /* ·Ö±ð°´ÏÂK3,K4ʹµÃD6£¬D5ÁÁÃð½»ÌæÑ­»·£¬D7ÉÁ˸          */
  33.        if(!GPIO_GET_VALUE(MKL_PORTD,6))
  34.                          {
  35.         GPIO_TOGGLE(MKL_PORTB,19);
  36.                           myDelay(500);                //È¥¶¶
  37.                          }
  38.                           if(!GPIO_GET_VALUE(MKL_PORTA,4))
  39.                          {
  40.         GPIO_TOGGLE(MKL_PORTB,18);
  41.                                 myDelay(500);                //È¥¶¶
  42.                          }
  43.         GPIO_TOGGLE(MKL_PORTD,1);
  44.                           myDelay(200);
  45.     }   
  46. }
 楼主| cowboy2014 发表于 2015-11-2 20:14 | 显示全部楼层
无语不知道是不是编译器问题,代码复制上来注释都看不到了。
总的过程还是很清楚的。
配置时钟,led和按键的GPIO配置





设置好后,编译烧入。




                    
奥德赛 发表于 2015-11-3 09:51 | 显示全部楼层
你的出问题的原因有可能是版本不兼容造成的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

821

帖子

5

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