IAR for MSP430 完整入门教程
本教程将引导您完成以下步骤:

- 准备工作:下载和安装必要的软件。
- 创建第一个项目:建立一个标准的C语言项目。
- 编写代码:点亮一个LED灯(经典的 "Blinky" 程序)。
- 编译与调试:编译代码、下载到硬件并进行在线调试。
- 高级技巧:介绍一些常用的高级功能和技巧。
第一步:准备工作
在开始之前,您需要准备两样东西:软件和硬件。
软件安装
- IAR Embedded Workbench for MSP430:
- 访问 IAR 官方网站: https://www.iar.com/iar-embedded-workbench/
- 下载最新版本的 "IAR Embedded Workbench for MSP430",IAR 提供免费的评估版(代码大小限制为 4KB),对于学习和初试已经足够。
- 运行安装程序,按照提示完成安装,安装过程中可以选择安装 MSP430 的器件支持包。
- 安装完成后,启动 IAR EW,首次启动时,它会提示您输入序列号或使用评估版。
硬件准备
- MSP430 开发板: 推荐使用 TI 官方的 MSP-EXP430G2 LaunchPad,这是一款价格便宜、功能齐全的开发板,非常适合入门,它自带了一个红色LED,连接在 P1.0 引脚上。
- USB 数据线: 用于连接开发板和电脑。
- 电脑: 运行 Windows 操作系统。
第二步:创建第一个项目 (Hello, Blinky!)
我们将创建一个项目,并编写代码来控制 LaunchPad 上的 LED 灯闪烁。
新建工作区
每次打开 IAR 时,它都会提示您创建或打开一个“工作区”,工作区是一个 .eww 文件,它用来管理您的项目。
- 选择 File -> New -> Workspace...。
- 选择一个位置保存你的工作区,
C:\IAR_MSP430_Tutorials\Workspace1,然后点击 Save。
新建项目
在工作区中,我们需要创建一个具体的项目。

- 在左侧的 Workspace 窗口中,右键点击 Workspace 'Workspace1' [Debug],选择 Add -> New Project...。
- 在弹出的窗口中,展开 MSP430,然后选择 C/C++ Application。
- 给项目命名,
Blinky,然后点击 OK。
配置项目选项
这是至关重要的一步,必须告诉 IAR 我们正在使用哪个具体的 MSP430 芯片。
- 在左侧的 Workspace 窗口中,右键点击你刚刚创建的
Blinky项目,选择 Options...。 - 在弹出的 Options 窗口中,进行以下设置:
- General Options -> Target:
- 在 Device family 中选择
MSP430。 - 在 Device 中,根据你的 LaunchPad 版本选择芯片,对于 MSP-EXP430G2 LaunchPad v2.0,选择 MSP430G2553,对于 v1.5 版本,选择 MSP430G2231。
- Toolchain 选择
IAR ARM。
- 在 Device family 中选择
- General Options -> Library Configuration:
- Library 选择
Normal(使用标准C库)。 - Library treatment 选择
Full(完整库)。
- Library 选择
- Debugger:
- 在 Setup 选项卡中,Driver 选择 FET Debugger。
- 在 Download 选项卡中,确保 Download to Flash 是勾选的,这样程序会被下载到芯片的闪存中,断电后不会丢失。
- 点击 OK 保存设置。
- General Options -> Target:
添加源文件
一个项目至少需要一个源文件来存放代码。
- 在左侧的 Workspace 窗口中,右键点击
Blinky下的 Source Group 1,选择 Add -> New Item...。 - 选择 C/C++ Source File,命名为
main.c,然后点击 OK。
第三步:编写 Blinky 代码
双击打开 main.c,输入以下代码:
#include <msp430.h>
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // 停止看门狗定时器
// 设置 P1.0 引脚为输出方向
P1DIR |= BIT0;
while(1)
{
P1OUT ^= BIT0; // 翻转 P1.0 的电平 (LED 亮/灭)
__delay_cycles(100000); // 延时约 0.1 秒 (基于 1MHz 时钟)
}
}
代码解释:
#include <msp430.h>: 包含 MSP430 的头文件,定义了所有寄存器和位名称。WDTCTL = WDTPW | WDTHOLD;: 非常重要! MSP430 上电后会默认启动看门狗定时器,它像一个计时器,如果程序在规定时间内没有“喂狗”,芯片就会自动复位,在程序开始时停止它,可以防止程序不断重启。P1DIR |= BIT0;: 设置 P1 端口的第 0 位 (P1.0) 为输出方向。P1DIR是方向控制寄存器,BIT0是一个宏,代表第 0 位。while(1) { ... }: 创建一个无限循环,让程序一直运行。P1OUT ^= BIT0;:P1OUT是端口输出寄存器。^=是按位异或赋值操作,P1.0 是 0 (灯灭),执行后变为 1 (灯亮);P1.0 是 1 (灯亮),执行后变为 0 (灯灭),这样就实现了闪烁效果。__delay_cycles(100000);: 这是一个内建函数,用于产生精确的延时,参数是 CPU 的时钟周期数,默认情况下,MSP430G2 LaunchPad 的主时钟是 1MHz,100000个周期就是 0.1 秒。
第四步:编译与调试
编译代码
点击工具栏上的 Make 按钮(一个绿色的对勾),或者使用快捷键 F7。

- 如果编译成功,底部的 Build 窗口会显示
*** Build finished: 0 Error(s), 0 Warning(s) (0 minute(s), X second(s)) ***。 - 如果有错误,根据提示检查代码,特别是拼写和分号。
下载程序到硬件
- 连接硬件: 用 USB 线将 LaunchPad 连接到电脑,电脑应该会识别出一个虚拟串口和一个 FET 调试器。
- 下载程序: 点击工具栏上的 Download and Debug 按钮(一个向下箭头的绿色播放按钮),或者使用快捷键 Ctrl + D。
程序会被下载到 MSP430 芯片中,IAR 会自动进入调试模式。
在线调试
进入调试模式后,界面会发生一些变化:
- 程序会停在
main函数的第一行(WDTCTL...)。 - 左侧会出现 Debug 窗口,显示变量和寄存器。
- 顶部会出现调试工具栏。
执行程序:
- 点击 Go 按钮(一个绿色的三角形,或者按 F5),程序开始运行。
- 你会看到 LaunchPad 上的红色 LED 开始闪烁!
- 点击 Stop 按钮(一个红色的方块)可以暂停程序。
设置断点:
- 在
main.c的代码行号旁边单击,可以设置一个断点(红点)。 - 再次点击 Go,程序运行到断点处会自动暂停,这对于观察变量在某个时刻的值非常有用。
单步调试:
- Step Over (F10): 执行当前行,如果函数调用,则直接执行完整个函数。
- Step Into (F11): 执行当前行,如果函数调用,则进入该函数内部。
- Step Out (Shift+F11): 跳出当前函数,执行到函数返回后的下一行。
