author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
阅读:3146回复:41

郁闷!调2131的232调了3天都没有通,帮帮我!

楼主#
更多 发布于:2004-03-09 11:09
    我用AN2131SC调试一个简单的232串口通讯,我已经用了3天,现在还是没有通,主要是Cypress公司的 C51 程序代码,汇编程序自己也写过,但总是不通,郁闷呀!MAX232的各个引脚的电平都正常,串口线也检查了好多遍,2131芯片进行BLUK和ISO传输正常。就是找不出原因来。哪位能够提供一点AN2131串口的汇编调试程序。最好是完全调试成功了的,谢了各位。或者指点一下可能还有哪些问题我现在可能没有考虑到的。  拜托了,各位大哥大姐!
我的Vc代码仓库:[url]http://sh.b211.net[/url]
arthurcao
驱动小牛
驱动小牛
  • 注册日期2003-10-12
  • 最后登录2012-07-08
  • 粉丝0
  • 关注0
  • 积分92分
  • 威望20点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-11 22:23
我也做,怎么没通,给我联系吧,HELP!QQ:6611555,E-MAIL:arthurcao0429@yahoo.com.cn.
arthurcao喜欢开源。
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-11 15:14
谢谢大家的帮助! :D
我的Vc代码仓库:[url]http://sh.b211.net[/url]
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-10 16:34
God!!!
A strong man can save himself. A great man can save another.
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-10 16:12
成功了,谢谢。串口线断了,郁闷!换了一根,谢谢各位。
我的Vc代码仓库:[url]http://sh.b211.net[/url]
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-03-10 16:05
那基本上就剩波特率和D9(相当于奇偶校验)的问题了。
switch(ucParity)
{
case COMM_PARITY_NONE:
SCON = 0x70;
break;
case COMM_PARITY_MARK:
SCON = 0xf8;
break;
case COMM_PARITY_SPACE:
SCON = 0xd0;
break;
case COMM_PARITY_ODD:
case COMM_PARITY_EVEN:
default:
// ReportFatalError(pErrorParity);
break;
}
A strong man can save himself. A great man can save another.
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-03-10 16:03
你有MSN吗?我的MSN在下面。波特率还是不匹配!
我的Vc代码仓库:[url]http://sh.b211.net[/url]
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-03-10 16:02
你有MSN吗?我的MSN在下面。
我的Vc代码仓库:[url]http://sh.b211.net[/url]
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-03-10 15:58
 MAX232的T1out上面也有波形,一样的,就是是232电平。不过计算机还是收不到数据。昨天也是这样的。
我的Vc代码仓库:[url]http://sh.b211.net[/url]
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-03-10 15:55
恩,打开使能位,是哪个使能位?PC^0,PC^1 ? 还是.....?如果你有时间的话,可以看看我的代码?现在有波形了。我把代码几乎完全删掉了,只有这一块,昨天我是用的中断,和现在一样,还比较好看的波形,波特率的。
我的Vc代码仓库:[url]http://sh.b211.net[/url]
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-03-10 15:26
我没有完整的代码。
但如果TXD没有波形,有可能你使发送使能有效。
A strong man can save himself. A great man can save another.
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-03-10 14:43
恩,是查询方式。我在前面设置了PORTCCFG=0x03 。我是怀疑PC口不是交替功能。sbuf0或者sbuf1里面数据都写进去了,波特率现在好点,只有1%的误差。但是Txd上面就没有波形产生。计算机收不到数据是正常。2131的硬件部分我都检查了几遍了。你写过这种代码吗?我想要一个完整的调试成功的代码看看。先谢了。
我的Vc代码仓库:[url]http://sh.b211.net[/url]
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-03-10 14:09
这个是查询方式。不适合作中断方式。
A strong man can save himself. A great man can save another.
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-03-10 13:47
恩,当while(TI==0)的时候,TI=0.当发送后TI=1。这时必须要有软件来清除这个标志位呀。使TI=0呀。我debug的时候。程序在这里跑飞了。我的Txd引脚上面就一直是低电平,用示波器看。

[编辑 -  3/10/04 by  author22]
我的Vc代码仓库:[url]http://sh.b211.net[/url]
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-03-10 13:43
所以while(TI == 0)呀,
因为它不会立刻变成1,所以这个while的时间会持续一个字节发送的时间。然后清掉它。否则,连续发送会重叠。
A strong man can save himself. A great man can save another.
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-03-10 13:40
我是方式1呀,应该是发完了自动置TI位为1呀,然后程序使它变为0,清除发送标志位呀。
我的Vc代码仓库:[url]http://sh.b211.net[/url]
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-03-10 13:22
12M的。我是方式1呀,应该是发完了自动置TI位为1呀,然后程序使它变为0,清除发送标志位呀。



[编辑 -  3/10/04 by  author22]

[编辑 -  3/10/04 by  author22]
我的Vc代码仓库:[url]http://sh.b211.net[/url]
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-03-10 13:19
应该是:
while(TI == 0);
TI = 0;
表示等到数据发完才返回。(因为数据发完TI会由0变1的).

你的晶振是多少,这很关键!!!
A strong man can save himself. A great man can save another.
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-03-10 12:57
大哥。这两句话是什么意思呀?
            while(TI == 0);
    TI = 0;
应该是
          while(TI == 1);
    TI = 0;

现在程序不是死在 这里吗?

我改了以后呢,现在计算机还是收不到数据。
我把上面的程序加到了我的 TD_Init (void)
函数里面。Txd引脚上面没有波特率产生。
 并且我拔了MAX232也是一样。



[编辑 -  3/10/04 by  author22]
我的Vc代码仓库:[url]http://sh.b211.net[/url]
author22
驱动小牛
驱动小牛
  • 注册日期2003-08-20
  • 最后登录2018-04-07
  • 粉丝0
  • 关注0
  • 积分391分
  • 威望85点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-03-10 12:03
我第一次给了一部分分,没有给完。现在给分为什么不能给分呀?
昏!
我的Vc代码仓库:[url]http://sh.b211.net[/url]
上一页
游客

返回顶部