发新帖我要提问
12
返回列表
打印
[DSP编程]

2812 SciA能正常发送但是不能接收

[复制链接]
楼主: Mr5Tao
手机看帖
扫描二维码
随时随地手机跟帖
21
zhangmangui| | 2016-10-10 22:20 | 只看该作者 回帖奖励 |倒序浏览
Mr5Tao 发表于 2016-10-10 15:50
而且,我的问题是烧写到FLASH以后再仿真正常,断掉仿真器直接运行就不行

为了确保是否真的烧写flash成功  并上电跑起来了   建议加个LED灯等看看
接入仿真器有可能是代码在RAM中运行
还有复位一下看看

使用特权

评论回复
22
zhangmangui| | 2016-10-10 22:20 | 只看该作者
不知道你的复位是怎么设计的     硬件复位看看能不能上电自复位

使用特权

评论回复
23
Mr5Tao|  楼主 | 2016-10-11 20:43 | 只看该作者
zhangmangui 发表于 2016-10-10 22:20
不知道你的复位是怎么设计的     硬件复位看看能不能上电自复位

现在的情况是,我整个程序大部分都是正常的,SCIB接受外部数据和SCIA发送输入到外部设备这两部分功能是正常运行的,只是SCIA接收部分出了问题,硬件电路方面应该没问题,因为是我自己做的开发板,在上面已经做过几个小程序了,

使用特权

评论回复
24
Mr5Tao|  楼主 | 2016-10-11 20:48 | 只看该作者
zhangmangui 发表于 2016-10-10 22:20
不知道你的复位是怎么设计的     硬件复位看看能不能上电自复位

最初我认为是SCIA的莫个地方没有使能,但是在Flash烧写后在线仿真的情况下,SCIA是可以正常接收的。搞不明白的是为什么断掉仿真器却不能接收了。

使用特权

评论回复
25
Mr5Tao|  楼主 | 2016-10-11 20:59 | 只看该作者
我贴一段我觉得可能有问题的程序,有没有可能是SCIA的发送和接收冲突了
interrupt void ISRTimer0(void)
{
        PieCtrl.PIEACK.bit.ACK7=1;
        Timer2++;
        Timer5++;

        if(Timer2==300)
        {
                Scib_RX();/////////////这是用SCIB做的外部数据接收,功能没问题
                Timer2=1;
        }

        if(Timer2>350)Timer2=1;
        if(Timer5==500)
        {
                Scia_TX();////////////////////这是SCIA的发送,就是DSP处理后的数据由SCIA发送到下一级
                Timer6++;
        }
        if(Timer6==3)
        {
                Scia_RX();////////////////////这是SCIA的接收,现在就是这块有点问题,这块接受我是按照上面SCIB的接收方法做的,应该没问题
                Timer5=1;
                Timer6=1;
        }
        if(Timer5>1600)Timer5=1;
        if(Timer6>3)Timer6=1;
}

使用特权

评论回复
26
zhangmangui| | 2016-10-11 22:30 | 只看该作者
Mr5Tao 发表于 2016-10-11 20:59
我贴一段我觉得可能有问题的程序,有没有可能是SCIA的发送和接收冲突了
interrupt void ISRTimer0(void)
{

冲突的可能性不大    有优先级

使用特权

评论回复
27
Mr5Tao|  楼主 | 2016-10-12 11:35 | 只看该作者
zhangmangui 发表于 2016-10-11 22:30
冲突的可能性不大    有优先级

我在Flash在线仿真的时候DSP可以接收到来自串口助手发的数据,这样是不是证明我的SCIA接收的那部分程序是没有问题的?

使用特权

评论回复
28
Mr5Tao|  楼主 | 2016-10-12 11:40 | 只看该作者
zhangmangui 发表于 2016-10-11 22:30
冲突的可能性不大    有优先级

我用串口助手通过串口屏厂家配的USB下载器能和串口屏正常通信,串口屏也有返回的数据。然后我用DSP发送同样格式的数据给串口屏,DSP就接收不到串口屏返回的数据。

使用特权

评论回复
29
Mr5Tao|  楼主 | 2016-10-12 21:11 | 只看该作者
zhangmangui 发表于 2016-10-11 22:30
冲突的可能性不大    有优先级

我找到问题所在了,其实我的程序是没问题的,因为现在是做开发,我是拿我以前自己做的开发板搭建的一个小的控制平台,但是我的开发板上的SCIA是已经做了RS232的接口,今天下午的时候我意识到可能是焊接的串口对数据的接收有影响,然后我就把板子上的MAX232拆了,结果我再测试就发现整个发送和接收都正常通了。哎,原本只是觉得重新画一块板子麻烦就将就以前的板子用,没想到还多花了不少时间,希望其他朋友能引以为戒,这是个教训,谢谢大神的指点,谢谢!

使用特权

评论回复
30
zhangmangui| | 2016-10-12 21:38 | 只看该作者
Mr5Tao 发表于 2016-10-12 21:11
我找到问题所在了,其实我的程序是没问题的,因为现在是做开发,我是拿我以前自己做的开发板搭建的一个小 ...

遇到各种问题  是正常

使用特权

评论回复
31
Mr5Tao|  楼主 | 2016-10-12 21:48 | 只看该作者
zhangmangui 发表于 2016-10-12 21:38
遇到各种问题  是正常

谢谢版主指点

使用特权

评论回复
32
lcj97102| | 2016-10-15 10:07 | 只看该作者
问题解决了吗?我也有一个类似的问题,你能帮我看看吗?
https://bbs.21ic.com/icview-1634180-1-1.html

使用特权

评论回复
33
Mr5Tao|  楼主 | 2016-10-24 22:12 | 只看该作者
lcj97102 发表于 2016-10-15 10:07
问题解决了吗?我也有一个类似的问题,你能帮我看看吗?
https://bbs.21ic.com/icview-1634180-1-1.html ...

我是采用的查询方式,不是中断,我的问题不是程序,是因为我自己画的开发板上SCI外接了max232造成的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则