已有的DSBIOS工程,由于客户增加新需求,添加了一个LIN的外设,在添加LIN的RX中断时我先在TCF的文件中配置了对应的硬件中断,确保初始化程序没问题的情况下调试时发现,RX中断只能进去一次,进去后程序就跑飞,判断出栈恢复代码出问题了,不知道怎么修改的情况下载TCF文件中将HWI选项对应的中断中USE Dispatcher 选项 DIS以后再 编译调试,发现程序能正常运行不会跑飞,看网上说这个选项是用于保存堆栈保护的应当勾选,参考其他外设的配置也确实勾选了的,请帮忙分析下为何会出现这种情况,
mangui zhang:注:一些人说还要在"Dispatcher"中勾选"Use Dispatcher"前的复选框。那是复合事件Event0-3才需要的,所以HWI_INT7-10四个中断里的"Use Dispatcher"需要勾上。如果用户定义的新中断不是使用复合事件而是使用单一事件触发的话不需要勾选。但勾选的话不会影响使用。因为新中断未使用Event0-3。 3 在应用程序中使能中断。如"C64_enableIER( 1 << 5 )" 使能中断HWI_INT5。 4 编写中断服务函数"void T1HIsr()"。 注。仿真器通讯中断可能对新中断有影响,有可能导致中断表现不正常。可以在"release"下编译,以减少仿真引起的大量中断