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)!