Grace 是 Graphical Code Engine 的缩写,是 TI 为了方便用户开发 MSP430 提供的图形化代码配置工具,但是目前只有部分 MSP430 的型号支持 Grace,如 G2 系列
本系列文章使用 Grace 配置 MSP430 外设,快速实现功能,帮助大家进一步了解 MSP430
文章侧重点是功能的使用,寄存器原理只有部分的阐述,适合有一定基础同学(不论是 STM32还是MSP430基础),深入的原理需要自行探索
一、开发平台
1.1 硬件平台
MSP430G2553 口袋实验平台:
1.2 软件平台
是 TI 公司推出的集成开发环境:CCS V5.5(Code Composer Studio)
仅 5 和 6 版本支持
二、原理分析
首先看一下 LED 灯的接口
驱动 LED 灯就是控制对应的 IO 口输出高低电平,对 MSP430 来说驱动 GPIO 一般有如下步骤:
配置系统时钟,使单片机能稳定运行
设置 GPIO 的方向寄存器为输出
通过位操作配置输出寄存器来控制 GPIO 的输出电平
其中第 1、2 两个步骤都可以通过 GRACE 软件来实现配置,下面讲解具体配置实现方法
三、GRACE 配置
3.1 新建工程(通用步骤)
点击新建 CCS 工程:
配置工程信息:
工程建立完成:
3.2 配置时钟(通用步骤)
点击 main.cfg 下面的 Device Overview,进去后 Device Overview 颜色会变淡:
我们看到设备界面有个 DVCC 的设置,默认显示 1.8V,这个根据实际单片机供电设置,我这里设置 3.3V,因为 Grace 要知道单片机的实际供电电压,因为在低电压情况下,某些外设不能使用,Grace 会自动屏蔽配置该外设的功能,之后点击 BCS+(Basic Clock System+) 模块配置时钟,点击后弹出 Overview 界面如下:
其中 introduction 是关于该模块的介绍,下面两个则是两个代码使用例子用作参考
在 Overview 旁边有 BasicUser、Power User、Regisiter三个配置项,区别如下:
Grace 的 Basic User 模式配置时钟,可以配置最基础的功能,界面简单,可以瞬间即可完成高速时钟和低速时钟配置:
Power User 是基于 MSP430 的时钟树,列出了关键的分频倍频等寄存器配置接口,方便我们详细开发:
这里配置我们可以根据 MSP430 的时钟树进行配置:
至于 Regisiter 模式则是以图像化的方式配置 BCS+ 的各个寄存器,适合对寄存器非常了解的人进行开发:
这里我们直接选择第一项进行时钟配置,高速时钟选 12M,低速的的话因为没有 32.768K 晶振,配置 12K 就行,配置后如下:
然后我们 Crtl + S 保存一下配置再编译一下,Grace 会自动根据配置,生成代码:
到这时钟配置完成
3.3 关闭看门狗
看门狗实际就是一个定时器,只不过在定时到达时,如果 CPU 没有去操作看门狗寄存器,看门狗就会复位单片机,这里我们没有使用到,但系统自动把它使能了,所以要把它关闭,否则会影响程序正常执行,点击看门狗配置项,取消选 Enable 就行,这里我们开启和关闭其他模块都是一样的操作,勾选 Enable 开启,不勾选则关闭:
3.4 配置 GPIO
我们从主设置页面进入 GPIO 设置:
可以看到Overview 也是关于 GPIO 的介绍,同时给出了使用例子,方便我们配置完成后能快速进行调用:
在配置项这有 32-QFN、20-TSSOP、28-TSSOP 这三个带引脚和封装的配置项,我们可以直接根据型号来配置,但功能比较局限,不能配置中断和具体 GPIO 参数信息,这里我们直接使用 PowerUser 来配置:
这里配置 P1.0、P1.6 为高速输出:
配置完成保存后编译代码,可以看到配置代码已经生成:
四、代码编写
4.1 代码编写位置
Grace 在生成的代码中给用户预留了代码编写位置,用户可以在 Grace 生成的初始化代码中自行添加代码,具体位置在如下的注释之间,这样二次生成代码不会覆盖用户代码:
/* USER CODE START (section: GPIO_graceInit_prologue) */
/* User initialization code */
/* USER CODE END (section: GPIO_graceInit_prologue) */
4.2 流水灯代码
我们在 main 函数中直接编写一个死循环代码,循环点灯:
int main(void)
{
Grace_init(); // Activate Grace-generated configuration
// >>>>> Fill-in user code here <<<<<
while(1)
{
P1OUT |= BIT6;
P1OUT &= ~BIT0;
__delay_cycles(10000000);
P1OUT |= BIT0;
P1OUT &= ~BIT6;
__delay_cycles(10000000);
}
return (0);
}
4.3 程序下载
代码编写完成后,构建代码,然后连接开发板调试仿真程序:
五、实验现象
流水灯,轮流点亮
上一篇:MSP430-GRACE 实战(三):定时器中断
下一篇:msp430中如何连续对位进行取反_MSP430系列通用串行通信模块的异步模式
推荐阅读最新更新时间:2024-11-16 22:38
设计资源 培训 开发板 精华推荐
- 用于工业应用的 C8051F062 MCU 的 C8051F064EK、8051 开发系统
- 仪器模拟放大
- AP2120 高速、极低噪声 LDO 稳压器的典型应用
- LT1117CM-5 电池充电器的典型应用
- 使用 RTC2-2405SRW 隔离式 DC/DC 转换器并根据 EN55022 B 类进行 EMC 滤波的典型应用
- 天气预报盒子
- DM164130-3,PICkit 28 引脚 LIN 演示板,将 PIC MCU 用于基于 LIN 的应用
- 机顶盒调制解调器
- LTC1261LCMS8 5V 输入、-4V 输出 GaAs FET 偏置发生器的典型应用电路
- ADP5024 的典型应用电路,使用带有 PSM/PWM 控制和电源良好的处理器系统电源管理
- 微灵医疗李骁健:脑机接口技术正在开启意识与AI融合的新纪元
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 景昱医疗耿东:脑机接口DBS治疗技术已实现国产替代
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计
- Melexis采用无磁芯技术缩小电流感测装置尺寸