[DSP编程] 2812 SciA能正常发送但是不能接收

[复制链接]
4611|32
 楼主| Mr5Tao 发表于 2016-9-30 09:10 来自手机 | 显示全部楼层 |阅读模式
用2812和迪文的工业串口屏通信,目前的情况是我同时用了SciA和SciB,SciB接收外部数据,SciA和串口屏通信,现在2812把数据发送给串口屏功能正常,但是不能接收它发回来的信息,我用标志位检测了,接收的子程序运行了,但是SciA接收缓冲寄存器里面没有接收到。初始化中接收已经使能了的,请教大神这可能是什么原因?
JY-DX-JY 发表于 2016-9-30 09:52 | 显示全部楼层
SCIB可以正常接收吗?两个对比一下。
 楼主| Mr5Tao 发表于 2016-9-30 10:59 来自手机 | 显示全部楼层
JY-DX-JY 发表于 2016-9-30 09:52
SCIB可以正常接收吗?两个对比一下。

SciB可以正常接收,它们的区别在于,SciB只是接收不发送,而SCIA既接收又发送。还有SCIB接收的是字符型,SCIA接收的是HEX十六进制
 楼主| Mr5Tao 发表于 2016-9-30 11:01 来自手机 | 显示全部楼层
JY-DX-JY 发表于 2016-9-30 09:52
SCIB可以正常接收吗?两个对比一下。

而且SCIA和SCIB初始化也是一模一样的
JY-DX-JY 发表于 2016-9-30 11:02 | 显示全部楼层
感觉不应该呀。你说的那些应该不影响的,我感觉应该还有其他原因。
 楼主| Mr5Tao 发表于 2016-9-30 11:05 来自手机 | 显示全部楼层
JY-DX-JY 发表于 2016-9-30 11:02
感觉不应该呀。你说的那些应该不影响的,我感觉应该还有其他原因。

我对比了一下串口屏的数据格式和SCIA的格式是一样的,格式这块应该没什么问题,而且SCIA的发送和接收我也都是分开了的
JY-DX-JY 发表于 2016-9-30 11:11 | 显示全部楼层
Mr5Tao 发表于 2016-9-30 11:01
而且SCIA和SCIB初始化也是一模一样的

怎么能一模一样呢。还有SCIA的那两个引脚也要初始化为复用功能吧
长的帅怪我落 发表于 2016-9-30 11:24 | 显示全部楼层
首先直接屏连上电脑,直接用串口调试助手接手屏发的数据,看是否能正常收到;然后2812的scia和scib,直接连电脑,电脑直接发送数据看2812是否能接收到;然后判断是哪里出了问题,我估计是你程序那里初始化设置有问题,方便贴出代码
 楼主| Mr5Tao 发表于 2016-9-30 15:21 来自手机 | 显示全部楼层
JY-DX-JY 发表于 2016-9-30 11:11
怎么能一模一样呢。还有SCIA的那两个引脚也要初始化为复用功能吧

这个我已经做了的,我的意思是功能设置都是一样的,代码肯定不一样的
 楼主| Mr5Tao 发表于 2016-9-30 15:24 来自手机 | 显示全部楼层
长的帅怪我落 发表于 2016-9-30 11:24
首先直接屏连上电脑,直接用串口调试助手接手屏发的数据,看是否能正常收到;然后2812的scia和scib,直接连 ...

这个办法可以一试,放假了,节后试试,谢谢指点。
长的帅怪我落 发表于 2016-9-30 15:31 | 显示全部楼层
Mr5Tao 发表于 2016-9-30 15:24
这个办法可以一试,放假了,节后试试,谢谢指点。

现在才30号,才下午3点30.怎么就放假了!!拉仇恨是不是
zhangmangui 发表于 2016-9-30 22:22 | 显示全部楼层
建议先找个很简单的工程  就是实现2812串口的自发自收
上位机串口助手下发命令   2812收到后上发给上位机
这个功能实现了    问题就解决了
zhangmangui 发表于 2016-9-30 22:24 | 显示全部楼层
 楼主| Mr5Tao 发表于 2016-10-6 23:11 | 显示全部楼层
长的帅怪我落 发表于 2016-9-30 15:31
现在才30号,才下午3点30.怎么就放假了!!拉仇恨是不是

呵呵,要放假了,没心思上班了嘛,就差不多就等于下班了呗
 楼主| Mr5Tao 发表于 2016-10-8 10:47 来自手机 | 显示全部楼层
zhangmangui 发表于 2016-9-30 22:24
参考我的分享
https://bbs.21ic.com/icview-1010062-1-1.html

谢谢分享,感觉里面很多东西都值得我学习
 楼主| Mr5Tao 发表于 2016-10-8 10:49 来自手机 | 显示全部楼层
zhangmangui 发表于 2016-9-30 22:22
建议先找个很简单的工程  就是实现2812串口的自发自收
上位机串口助手下发命令   2812收到后上发给上位机
...

正在逐步寻找问题所在,感觉上也是某个细节没注意,应该问题不大
zhangmangui 发表于 2016-10-8 21:51 | 显示全部楼层
Mr5Tao 发表于 2016-10-8 10:49
正在逐步寻找问题所在,感觉上也是某个细节没注意,应该问题不大

解决了记得分享哦
 楼主| Mr5Tao 发表于 2016-10-10 14:12 来自手机 | 显示全部楼层
zhangmangui 发表于 2016-10-8 21:51
解决了记得分享哦

我现在用电脑串口助手通过RS232和DSP是可以实现通信的,就是用串口助手发,让DSP接收,DSP可以接收,但是困扰我的只能在程序固化后在线仿真的时候才能正常接收,去掉仿真器后就不能正常接受了,不知道是什么原因
 楼主| Mr5Tao 发表于 2016-10-10 15:26 来自手机 | 显示全部楼层
zhangmangui 发表于 2016-10-8 21:51
解决了记得分享哦

我看了你以前关于这个问题的帖子,整个程序里面我没有用Delay延时,都是用的定时器控制的
 楼主| Mr5Tao 发表于 2016-10-10 15:50 来自手机 | 显示全部楼层
zhangmangui 发表于 2016-10-8 21:51
解决了记得分享哦

而且,我的问题是烧写到FLASH以后再仿真正常,断掉仿真器直接运行就不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

86

帖子

0

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