电赛控制题专题:MSPM0G3507最新解析与探讨

目录

一、开发环境配置

二、GPIO

(1)一般函数

三、Timer

(1)一般函数

(2)中断函数


一、开发环境配置

【2024电赛】TI MSPM0快速入门课 – 开发环境部署_哔哩哔哩_bilibili

在下载ccs时,可以有多种功能选择,但是如果选择了除MSPM0之外的功能,可能会安装许多其他程序。

二、GPIO

(1)一般函数

基本逻辑思维和stm32差不多,在这里讲解一下常用相关函数

__STATIC_INLINE void DL_GPIO_setPins(GPIO_Regs* gpio, uint32_t pins)

@brief      给一组GPIO引脚置高电平

@param[in]  gpio  指向外设寄存器覆盖层的指针

@param[in]  pins  需设置成高电平的引脚

__STATIC_INLINE void DL_GPIO_clearPins(GPIO_Regs* gpio, uint32_t pins)

@brief      给一组GPIO引脚置低电平

@param[in]  gpio  指向外设寄存器覆盖层的指针

@param[in]  pins  需设置成低电平的引脚

delay_cycles(cycles) 

#define delay_cycles(cycles) DL_Common_delayCycles(cycles)

@brief   消耗指定的CPU周期数

__STATIC_INLINE void DL_GPIO_togglePins(GPIO_Regs* gpio, uint32_t pins)

@brief      T翻转一组GPIO引脚电平

@param[in]  gpio  指向外设寄存器覆盖层的指针

@param[in]  pins  需要翻转电平的引脚

三、Timer

(1)一般函数

__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn):

\brief   使能中断

\param [in]      IRQn  设备特定中断名称

【注】中断名称可以去.h文件中找

__STATIC_INLINE void DL_Timer_startCounter(GPTIMER_Regs *gptimer)

#define DL_TimerG_startCounter       DL_Timer_startCounter

@brief      打开计时器

@param[in]  gptimer        指向外设寄存器覆盖层的指针(确定是要打开哪个寄存器)

补充:睡眠模式

若退出运行模式,芯片可进入以下多种模式。其中,睡眠模式的主要用途是降低功耗。电赛不太需要对程序进行低功耗优化。

DL_SYSCTL_enableSleepOnExit()

@brief 退出主函数时启用睡眠模式

 __WFI()

@brief  等待进入中断模式

(2)中断函数

一般定时器功能会和中断一起使用,但是中断函数需要我们自行编写。

①函数名称可以去.h文件中找,一般为TIMER_x_INST_IRQHandler格式

②一般在中断函数内使用switch-case语句,来判定是哪个计时器触发的中断

中断函数样例:

void TIMER_0_INST_IRQHandler(void)
{
    switch (DL_TimerG_getPendingInterrupt(TIMER_0_INST)) {
        case DL_TIMER_IIDX_ZERO:
            DL_GPIO_togglePins(GPIO_LEDS_PORT,
                GPIO_LEDS_USER_LED_1_PIN | GPIO_LEDS_USER_TEST_PIN);
            break;
        default:
            break;
    }
}

作者:Nucleonnn

物联沃分享整理
物联沃-IOTWORD物联网 » 电赛控制题专题:MSPM0G3507最新解析与探讨

发表回复