基本信息
文件名称:NXP 系列:MK64FN1M0VLL12 系列_(12).课程12:MK64FN1M0VLL12系列的编程与调试技巧.docx
文件大小:27.66 KB
总页数:30 页
更新时间:2025-05-31
总字数:约1.48万字
文档摘要

PAGE1

PAGE1

课程12:MK64FN1M0VLL12系列的编程与调试技巧

12.1编程环境的搭建

在开始编写和调试MK64FN1M0VLL12系列单片机的程序之前,首先需要搭建一个合适的编程环境。常用的开发环境包括NXP的MCUXpressoIDE、KeilMDK、以及IAREmbeddedWorkbench。以下是使用MCUXpressoIDE搭建编程环境的步骤:

12.1.1安装MCUXpressoIDE

访问NXP官方网站,下载MCUXpressoIDE。

按照安装向导的指示完成安装。

启动MCUXpressoIDE,注册并激活软件(如果需要)。

12.1.2创建新的项目

打开MCUXpressoIDE。

选择File-New-MCUXpressoIDEProject。

在NewMCUXpressoIDEProject对话框中,选择Kinetis作为目标系列。

选择MK64FN1M0VLL12作为目标器件。

点击Next,选择项目名称和存储位置。

选择EmptyApplication作为项目类型,点击Finish。

12.1.3配置项目

右键点击项目,选择Properties。

在C/C++Build-Settings中,配置编译器设置,确保使用正确的编译器版本。

在MCUC/C++Target中,配置目标单片机的时钟、外设等参数。

在Debug配置中,选择合适的调试器,如J-Link或PEMultilink。

12.1.4示例代码:创建一个简单的LED闪烁程序

#includefsl_common.h

#includefsl_gpio.h

#includefsl_port.h

#includeboard.h

//定义LED引脚

#defineLED_PORTPORTB

#defineLED_GPIOGPIOB

#defineLED_PIN18U

voidinitGPIO(void){

//使能GPIOB和PORTB时钟

CLOCK_EnableClock(kCLOCK_PortB);

CLOCK_EnableClock(kCLOCK_GpioB);

//配置LED引脚为输出模式

gpio_pin_config_tledConfig={

.pinDirection=kGPIO_DigitalOutput,

.outputLogic=0U

};

GPIO_PinInit(LED_GPIO,LED_PIN,ledConfig);

}

voidblinkLED(void){

uint32_tdelay=1000000U;//延时计数

//使能LED引脚

GPIO_WritePinOutput(LED_GPIO,LED_PIN,1U);

//延时

for(uint32_ti=0;idelay;i++){

__asm(nop);

}

//关闭LED引脚

GPIO_WritePinOutput(LED_GPIO,LED_PIN,0U);

//延时

for(uint32_ti=0;idelay;i++){

__asm(nop);

}

}

intmain(void){

BOARD_InitBootPins();

BOARD_InitBootClocks();

BOARD_InitBootPeripherals();

initGPIO();

while(1){

blinkLED();

}

}

12.1.5说明

包含头文件:fsl_common.h、fsl_gpio.h、fsl_port.h和board.h是NXP提供的标准库头文件,用于初始化和配置单片机的各个模块。

定义LED引脚:LED_PORT、LED_GPIO和LED_PIN宏定义了LED的引脚。

初始化GPIO:initGPIO函数配置LED引脚为输出模式。

LED闪烁函数:blinkLED函数控制LED的亮灭,每个状态之间有一个延时。

主函数:main函数初始化系统后,进入一个无限循环,调用blinkLED函数使LED闪