TI中文支持网
TI专业的中文技术问题搜集分享网站

c6678串口中断

在c6678的评估板做串口的收中断,程序中进入main后先初始化串口,然后设置中断映射,CIC0的149(串口收中断),映射到主机中断32,在cfg文件中建立HWI中断,初级中断事件为21(因为CIC0的主机中断输出32对应core0的21初级中断事件),优先级7,。主任务uartrxtx()中等待信号量hUSem在中断中释放后执行发送数据。中断服务程序中收数据后,释放信号量hUSem。

1、中断不能响应,但在UART的IIR中可以看到有收中断事件,CIC0的System Interrupt Enable Set Registers中的对应149位置位,System Interrupt Status Raw/Set Registers中的148对应的位置位了;

2、当我使用taskpost()任务时,中断可以进入;

3、当CIC0的SYSINT_NUM 改为148(串口中断)其他映射不变时,程序一运行就进入中断程序。

请高手帮忙看看,明知是一个小问题,可卡在这里就是过不去!先行谢过!

du jianfeng:

在sys/bios下,串口收中断收数据,然后网口发送。

串口中断事件为收中断,cic0事件号为149(串口收中断),映射到主机中断32,对应初级中断21,挂接到中断服务程序。

现在使用Cpintc_postsysintc(0,149)来手动触发收中断,(0是cic0,149为cic0的串口收中断事件号)程序可以正确的响应,

但不用Cpintc_postsysintc(0,149)来手动触发收中断,使用串口调试助手来发送数据的时候就不能响应。这个情况是不是说明上面的映射和挂接都是正确,只是没有产生正确的中断源。

还有,当cic0事件号为148(串口中断)时,映射还是上面的映射,程序运行但在串口没有发数据时就响应中断了。请问是哪里的问题?新手学习中

Andy Yin1:

回复 du jianfeng:

参考UART中断例程:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/18931.aspx

yuanwen dong:

回复 du jianfeng:

送你两个C6678 Uart相关的Demo,一个是裸跑的,一个是OSEck下面的。

见附件

william.dong@enea.com

du jianfeng:

问题已自行解决,不过还是要谢过各位!

赞(0)
未经允许不得转载:TI中文支持网 » c6678串口中断
分享到: 更多 (0)