打印
[Kinetis]

FRDM-K64F RBG流水实现

[复制链接]
606|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
capturesthe|  楼主 | 2016-1-23 21:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚拿到板子准备调试的时候,发现没有丝毫的头绪,而且找不到K64F的数据手册(可以查看寄存器信息的那种,那位飞友能否给一份),只能找了一下以前论坛的程序。
但是发现程序的风格与KL26Z的几乎一模一样,只是少了许多库函数,所以在后面的学习中,我会借鉴以前调试KL26Z的经验来调试K64F。

下面是调试的第一个LED程序:
#include "MK64F12.h"

#define LED0_ON  GPIOB_PCOR |=(1<<21)
#define LED0_OFF GPIOB_PSOR |=(1<<21)

#define LED1_ON  GPIOB_PCOR |=(1<<22)
#define LED1_OFF GPIOB_PSOR |=(1<<22)

#define LED2_ON  GPIOE_PCOR |=(1<<26)
#define LED2_OFF GPIOE_PSOR |=(1<<26)

void Delay(void)
{
        unsigned int i,j;

        for(j=2000;j>0;j--)
                for(i=1000;i>0;i--);
}

int main(void)
{
        SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTE_MASK;
        PORTB_PCR21  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
        PORTB_PCR22  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
        PORTE_PCR26  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
        GPIOB_PDDR |= (1<<21);
        GPIOB_PDDR |= (1<<22);
        GPIOE_PDDR |= (1<<26);
        while(1)
        {
                LED0_ON;
                LED1_OFF;
                LED2_OFF;
                Delay();

                LED1_ON;
                LED2_OFF;
                LED0_OFF;
                Delay();

                LED2_ON;
                LED0_OFF;
                LED1_OFF;
                Delay();

                LED0_ON;
                LED1_ON;
                LED2_OFF;
                Delay();

                LED0_ON;
                LED1_OFF;
                LED2_ON;
                Delay();

                LED0_OFF;
                LED1_ON;
                LED2_ON;
                Delay();

                LED0_ON;
                LED1_ON;
                LED2_ON;
                Delay();

        }
}
程序非常好理解,开启GPIO时钟,配置GPIO为输出,控制GPIO输出高低电平。
   
    下面是实物:



相关帖子

沙发
Beckham_Owen| | 2016-1-24 19:59 | 只看该作者
这LED灯是三个颜色的吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

136

帖子

1

粉丝