Mr5Tao 发表于 2016-9-30 09:10

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

用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

参考我的分享
https://bbs.21ic.com/icview-1010062-1-1.html

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以后再仿真正常,断掉仿真器直接运行就不行
页: [1] 2
查看完整版本: 2812 SciA能正常发送但是不能接收