以前使用过TI的芯片开发,用起来非常不错,这款开发板也是TI的MSPM0L1306芯片,今天用它来点亮RGB,

在写代码之前,需要清楚硬件配置,了解使用哪个GPIO,先看原理图,需要注意跳线帽一定要接上:

打开CCS软件,导入一个空的历程,然后打开syscfg文件,进入软件配置界面,软件配置界面可以自定义GPIO的名字,非常方便开发者调用;设置PA13、PA26、PA27三个管脚为输出模式,名字自定义

编译一下,底层的驱动配置代码就自动生成了,这种图形化的编程大大提高了开发者的工作效率,非常nice;

下一步就要进行代码编写,我习惯把底层驱动的函数重定义一遍再使用,这样方便移植,后期维护起来也很方便,而且增加了的代码的可读性;重新定义红灯,绿灯和蓝灯的点亮代码,定义延时函数,在这里,我新建了一个BSP的.C和.H文件,用头文件来存放他们的定义和生明功能函数;
/*
* bspRGB.h
*
* Created on: 2024年7月8日
* Author: liusl
*/
#ifndef BSPRGB_H_
#define BSPRGB_H_
#define RGB_BLUE DL_GPIO_setPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_BLUE_PIN_PIN);\
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_RED_PIN_PIN);\
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_GREEN_PIN_PIN);
#define RGB_GREEN DL_GPIO_setPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_GREEN_PIN_PIN);\
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_RED_PIN_PIN);\
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_BLUE_PIN_PIN);
#define RGB_RED DL_GPIO_setPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_RED_PIN_PIN);\
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_BLUE_PIN_PIN);\
DL_GPIO_clearPins(LED_RED_PORT_PORT, LED_RED_PORT_RGB_GREEN_PIN_PIN);
#define DELAY delay_cycles(CPUCLK_FREQ)
void RgbFlowLED(void);
#endif /* BSPRGB_H_ */
然后在.C文件中编写RGB的逻辑函数;
#include "ti_msp_dl_config.h"
#include "bspRGB.h"
/*RGB流水灯函数
* ======== SYSCFG_DL_init ========
* Perform any initialization needed before using any board APIs
*/
void RgbFlowLED(void)
{
RGB_BLUE;
DELAY;
RGB_GREEN;
DELAY;
RGB_RED;
DELAY;
}最后,到empty.C 文件的主函数中调用这个功能函数;
#include <ti/driverlib/m0p/dl_interrupt.h>
#include "ti_msp_dl_config.h"
#include "bspRGB.h"
int main(void)
{
SYSCFG_DL_init();
while (1)
{
RgbFlowLED();
}
}下载观察现象:



我要赚赏金
