单片机RS232驱动Agilent34401a

[复制链接]
2530|7
 楼主| wanjianjun777 发表于 2016-7-29 16:31 | 显示全部楼层 |阅读模式
你好,想请教下,关于单片机通过RS232与34401通讯的。我使用2.3.5线,34401的6脚我给定一个高

电平,这样的接线我连接电脑使用串口通信软件 波特率设置相同(1200,9600都试过),8位数据位,无奇

偶校验,停止位为1 或者2(两者都试过,因为34401的停止位固定为2),这样在电脑上都可以实现正常

通信。
但是我使用相同的接线方式连接单片机(C8051F020,MAX232),波特率设置过300,600,1200(34401中有说

明:如果不使用DSR/DTR 需要把6脚拉高,且波特率需要慢),8位数据位,无奇偶校验,停止位为1(这个

单片机的串口只能设置停止位为1),这样的环境的时候可以发送设置类的命令,且34401会执行,但是发

送查询类的命令的时候(有返回值的),34401会回复我,我单片机的串口也能收到回复,但是34401会出

现(ERROR "-410")只是出现这个,对其它的没影响。
(-410 手册中的说明:收到要发送数据到输出缓冲器的命令,但是输出缓冲器上还包含前一个命令送来的

数据(前一个数据并未被改写)。在关闭电源或执行*RST(复位)命令之后,输出缓冲器会被清除)
但是我开机后第一个命令执行查询类命令,也会出现-410;
现在我有些搞不清的是:
1、是不是停止位少一位的原因,但是为什么连接电脑我设置为1个停止位确可以正常运行?
2、是不是单片机这边TX脚电平的原因,连接电脑时电脑的TX脚逻辑1与逻辑0电平为-9.6V和+10.8V,连

接单片机这边单片机的TX脚逻辑1与逻辑0电平为-6.2V和+6.8V?
liujia21 发表于 2016-8-1 19:13 | 显示全部楼层
kelikepig 发表于 2016-8-10 21:40 来自手机 | 显示全部楼层
单片机应该给安捷伦一个准备好接收的信号,其实把9针中的其中一针接地就可以了,实验成功了!
gszou 发表于 2016-8-21 23:16 | 显示全部楼层
应该说是有流控制的串口通信,看样子是没有处理而只是简单用2线代替了。
gxs64 发表于 2016-8-24 11:29 | 显示全部楼层
要用全功能串口
王紫豪 发表于 2016-9-8 17:06 | 显示全部楼层
DSR需要拉高的,我弄过这个,不然命令很慢。也就是普通的三线串口必须稍微改下才行
二哥220 发表于 2016-11-4 17:50 | 显示全部楼层
本帖最后由 二哥220 于 2016-11-7 08:48 编辑

..................
zydlpcb 发表于 2017-4-26 18:58 | 显示全部楼层
好东西,就贵了点,好多年没用这个了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

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