刚拿到板子准备调试的时候,发现没有丝毫的头绪,而且找不到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输出高低电平。
下面是实物:
|