TMS320LF2407中断问题

[复制链接]
3300|3
 楼主| 狂崽 发表于 2008-5-29 20:33 | 显示全部楼层 |阅读模式
各位仁兄,小弟现在遇到一个疑惑,请大家帮忙解决以下<br /><br />我有个DSP程序,是关于串口接收和发送,接收和发送我都用的是中断,其中接收是高优先,发送是低优先,今天突然发现我的发送中断处理函数没有被调用,即发送中断标志没有清,<br />问题<br />1\怎么我用串口调试,发送都是正常的呢,<br />2\我调用了发送函数,是不是IFR相应中断标志就置位了,总中断在产生中断时就关闭了吧,怎么还能继续产生其它中断,我还用了其它定时中断<br />;建立中断向量表<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.sect&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;.vectors&quot;<br />RSVECT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_c_int0<br />INT1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_c_int1<br />INT2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_c_int2<br />INT3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_c_int3<br />INT4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PHANTOM<br />INT5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_c_int5////现在是INT5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PHANTOM<br />INT6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PHANTOM<br />串口初始化<br />void&nbsp;SCI_Init()<br />{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SCICCR=0x0007;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//空闲多处理器模式,8位数据位,停止位,无奇偶校验位<br />&nbsp;&nbsp;&nbsp;&nbsp;SCICTL1=0x0013;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//接收,发送,内部时钟使能SLEEP=1<br />&nbsp;&nbsp;&nbsp;&nbsp;SCICTL2=0x0003;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//接收中断使能<br />&nbsp;&nbsp;&nbsp;&nbsp;SCIPRI=0x0040;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//接受高中断优先级1,送低优先级5<br />&nbsp;&nbsp;&nbsp;&nbsp;SCIHBAUD=0x0002;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//40M,波特率设置为9600<br />&nbsp;&nbsp;&nbsp;&nbsp;SCILBAUD=0x0008;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SCICTL1=0x0033;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//串口初始化完成&nbsp;<br />&nbsp;<br />}<br />发送函数<br />void&nbsp;SCI_Send(unsigned&nbsp;int&nbsp;senddata)&nbsp;&nbsp;<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;SCITXBUF&nbsp;=&nbsp;senddata;<br />}<br />发送中断处理函数<br />void&nbsp;c_int5()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(PIVR!=0x07)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//低优先级的SCI发送中断<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enable();//开总中断<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;IFR&nbsp;=&nbsp;0x10;<br />&nbsp;&nbsp;&nbsp;&nbsp;enable();//开总中断<br />}
 楼主| 狂崽 发表于 2008-5-30 20:04 | 显示全部楼层

怎么没有人回啊

是不是当假中断处理了啊,
hhming8283 发表于 2008-6-10 20:38 | 显示全部楼层

可以这样吗?

你的中断函数不用interrupt声明也可以用吗<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

59

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部