搜索
bottom↓
回复: 13

DSP将8335的串口受到干扰后无法再次产生串口中断

[复制链接]

出0入0汤圆

发表于 2014-11-1 21:12:09 | 显示全部楼层 |阅读模式
DSP将8335的串口受到干扰后无法再次产生串口中断,我用SCI进行串口接收数据,如果串口数据不受到干扰,一切正常,也能产生串口中断,但是如果一但串口的数据被干扰之后,就再也进不去串口中断了,就算后面的串口数据恢复正常了,也无法再次进入串口中断函数里面,哪位大侠遇到过,给支支招?   江湖救急啊

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-11-2 10:51:51 | 显示全部楼层
好好看看sci部分的寄存器,有些error是需要软件清除的。

出0入0汤圆

 楼主| 发表于 2014-11-6 14:50:53 | 显示全部楼层
steaven2000 发表于 2014-11-2 10:51
好好看看sci部分的寄存器,有些error是需要软件清除的。

SCI如果产生接收错误中断,并且这个中断不清除的话,是否会导致无法正常串口接收中断

出0入0汤圆

发表于 2014-11-6 17:58:54 | 显示全部楼层
是不是用了fifo中断,必须要接受一定的字节才产生中断???

出0入0汤圆

 楼主| 发表于 2014-11-10 17:06:04 | 显示全部楼层
tkggsai2008 发表于 2014-11-6 17:58
是不是用了fifo中断,必须要接受一定的字节才产生中断???

是用的FIFO中断,我是设定为1个字节就产生中断

出0入0汤圆

发表于 2014-11-10 23:26:21 | 显示全部楼层
二楼正解,一定要检测寄存器里的错误位,发生错误后记得清除。我前不久正好碰到这个问题,施加干扰后只发不收了,清除错误标志后问题解决。

出0入0汤圆

 楼主| 发表于 2014-11-15 17:13:10 | 显示全部楼层
laoerge 发表于 2014-11-10 23:26
二楼正解,一定要检测寄存器里的错误位,发生错误后记得清除。我前不久正好碰到这个问题,施加干扰后只发不 ...

楼上的错误标志位的清除,是利用产生了错误中断来清除的嘛?

给个参考代码学习下吧

出0入0汤圆

发表于 2014-11-15 18:48:37 | 显示全部楼层
tianyaxtutianya 发表于 2014-11-15 17:13
楼上的错误标志位的清除,是利用产生了错误中断来清除的嘛?

给个参考代码学习下吧 ...

/*=======================================================================
* 函数:scia_rx_isr
* 功能:scia接收中断处理(HMI485接口,接显示屏)
* 参数:无
* 返回:无
*======================================================================*/
interrupt void scia_rx_isr(void)
{
        if(SciaRegs.SCIRXST.bit.RXERROR)                                                // 发生接收错误后,软件复位串口,并重新时能串口
        {
                SciaRegs.SCICTL1.bit.SWRESET = 0;
                SciaRegs.SCICTL1.bit.SWRESET = 1;
        }
}

原来没加这个错误处理就会发生干扰后只发不收现象,加了好像是解决了。

出0入0汤圆

发表于 2014-11-15 18:54:52 | 显示全部楼层
楼主如果这样解决了麻烦告知一声,我也是才用DSP不久

出0入0汤圆

 楼主| 发表于 2014-11-24 18:04:52 | 显示全部楼层
laoerge 发表于 2014-11-15 18:48
/*=======================================================================
* 函数:scia_rx_isr
* 功 ...

如何配置这个错误中断初始化部分

出0入0汤圆

发表于 2014-11-24 18:47:07 | 显示全部楼层
tianyaxtutianya 发表于 2014-11-24 18:04
如何配置这个错误中断初始化部分

这个不是错误中断,就是接收中断。在接收中断里做错误处理即可

出0入0汤圆

发表于 2014-11-24 18:48:23 | 显示全部楼层
我这个中断里边接收处理被我删掉了,你加上你自己的功能就行

出0入0汤圆

 楼主| 发表于 2014-11-25 10:56:54 | 显示全部楼层
laoerge 发表于 2014-11-24 18:48
我这个中断里边接收处理被我删掉了,你加上你自己的功能就行

产生接收错误后,不需要配置什么也可以正常产生接收错误中断嘛?

出0入0汤圆

发表于 2014-11-25 17:54:13 | 显示全部楼层
配置成能产生接收中断就可以了,然后在接收中断里处理错误,我这样处理后就没发生问题了。一开始我也再找错误中断,但好像没有。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-18 03:47

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表