自学内容网 自学内容网

05DSP学习-利用sys配置中断-以EPWM中断为例

在在TMS320F28379D-Technical Reference Manual中的第三章,介绍了系统的控制与中断。

什么是系统的中断?

28379D的中断结构

可以看出、以定时器、外部信号、通信、外设、看门狗等都可以产生中断。具体的参考外设部分的手册。

以EPWM中断为例进行配置

step1. 在syscfg中配置EPWM中断

在syscfg中,选择EPWM选项卡,按照上图进行配置,上图使能了EPWM中断,中断源位时基寄存器计数达到周期数时产生事件,一个事件产生一次中断,即每次计数达到周期时,产生一次中断。

EPWM Interrupt选项卡中,Name是对下面的Interrupt Name重命名,Interrupt Handler是中断句柄的名称,按照默认的即可,也可以自定义。

step2. 在main.c 中加入中断服务函数

注意!否则可能出现该错误#10234-D unresolved symbols remain 问题解决方法

__interrupt void INT_myEPWM1_ISR(void)
{
    // Verifying the ISR
    EPwm1TimerIntCount++;

    // 你的代码
    if (EPwm1TimerIntCount%1000 ==0)
    {
        UserCount ++;
    }


    // 结束中断函数
    //
    // Clear INT flag for this timer
    //
    EPWM_clearEventTriggerInterruptFlag(myEPWM1_BASE);
    //
    // Acknowledge the interrupt
    //
    Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP3);
}

step3. 初始化中断

否则即使程序正常编译和下载,运行时也无法进入中断

step3.1 初始化中断模块

step3.2 初始化中断向量表

step3.3 中断配置

这一步在Board_init()中已经完成了

main.c的开头如下

step4 编译,运行

在中断服务函数中实现的功能是进1000次中断则Usercount+1。可以观察到变量与程序功能一致。

中断配置回顾

syscfg起了什么作用?

帮助配置和初始化EPWM中断。

中断使用流程是什么

初始化中断模块、初始化中断向量表、配置外设中断(利用syscfg)、执行中断服务函数、释放中断标志位


原文地址:https://blog.csdn.net/qq_40678163/article/details/142910656

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!