0. 环境搭建
(1) 安装MSPM0 SDK, 使用的版本是mspm0_sdk_2_00_00_03,ti 的sdk 做的非常完善,开发起来很方便。
(2) 安装sysconfig_1.20.0, 主要来配置引脚。
(3) 安装ccs ti 开发环境,使用的版本是ccs1271 IDE, 可直接在工程中使用sysconfig.
1. 硬件原理
主控使用的是:MSPM0L1306,64KB 闪存、4KB SRAM、12 位 ADC、比较器和 OPA 的 32MHz Arm® Cortex®-M0+ MCU, 32个引脚。
使用的官方的开发板LP-MSPM0L1306,已经集成了烧录器,使用起来非常方便。
LP-MSPM0L1306 LaunchPad™ 开发套件是基于 MSPM0L1306 的易用型评估模块 (EVM),包含在 MSPM0L1306 M0+ MCU 平台上开始开发所需要的全部资源,包括用于编程、调试和能量测量的板载调试探针。该板包含三个按钮、两个 LED(其中一个是 RGB LED)、模拟温度传感器和光传感器。
开发板资料链接:https://www.ti.com.cn/tool/cn/LP-MSPM0L1306
led 通过3个gpio 引脚 PA13(GREEN) PA26(RED) PA27(BLUE) 通过拉电流的方式控制RGB LED 。原理图如下:
2. 关键软件代码
直接导入空的例程,路径,然后在这个基础上进行开发。
F:\ti\mspm0_sdk_2_00_00_03\examples\nortos\LP_MSPM0L1306\driverlib\empty\ticlang配置相关属性。主要是指定对应引脚,及引脚方向为输出。
烧录程序直接点FLASH.
要实现3个led 循环闪烁,主要控制逻辑就是一个灯亮一定时间,其余灯保持熄灭状态,然后循环往复。
代码如下:
#include "ti_msp_dl_config.h"
#define LED_RED_PORT_PORT (GPIOA)
#define LED_RED_PORT_LED_RED_PIN_PIN (DL_GPIO_PIN_26)
#define LED_GREEN_PORT_PORT (GPIOA)
#define LED_GREEN_PORT_LED_GREEN_PIN_PIN (DL_GPIO_PIN_13)
#define LED_BLUE_PORT_PORT (GPIOA)
#define LED_BLUE_PORT_LED_BLUE_PIN_PIN (DL_GPIO_PIN_27)
int main(void)
{
SYSCFG_DL_init();
while (1) {
DL_GPIO_setPins(LED_RED_PORT_PORT, LED_RED_PORT_LED_RED_PIN_PIN); //PA0= 1;
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_GREEN_PORT_LED_GREEN_PIN_PIN | LED_BLUE_PORT_LED_BLUE_PIN_PIN); //PA0= 0;
delay_cycles(48000000);
DL_GPIO_setPins(LED_RED_PORT_PORT, LED_GREEN_PORT_LED_GREEN_PIN_PIN); //PA0= 1;
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_LED_RED_PIN_PIN | LED_BLUE_PORT_LED_BLUE_PIN_PIN); //PA0= 0;
delay_cycles(48000000);
DL_GPIO_setPins(LED_RED_PORT_PORT, LED_BLUE_PORT_LED_BLUE_PIN_PIN); //PA0= 1;
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_LED_RED_PIN_PIN | LED_GREEN_PORT_LED_GREEN_PIN_PIN); //PA0= 0;
delay_cycles(48000000);
}
}
3. 实现效果
蓝灯亮。
绿灯亮
红灯亮
4. 注意事项
在第一次使用时,提示更新烧录器,直接更新即可。