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闪