论坛风格切换切换到宽版
  • 4958阅读
  • 24回复

★写了个串口测试工具v0.1【NWT7,Easy51Pro等DIY的联机测试工具】 [复制链接]

上一主题 下一主题
离线radiolee
 
发帖
6050
只看楼主 倒序阅读 0楼 发表于: 2006-01-15
最近流行做nwt7,还有一些跟串口打交道的diy作品。一些朋友在制作的时候发生这样或者那样的问题,导致设备或者器件不正常工作。怀疑mcu没有正常工作的比较多。我还是那句话,mcu没有那么容易损坏,一般都是rs232接口、线、max232等的小问题。最近几天在研究串口通信,就顺手做了一个测试工具,可以给制作nwt7和easy 51 pro等串口设备的朋友帮助调试单片机有没有正常工作。

虽然是个小软件,也算是diy,所以发到diy版,请版主不要删呐,俺这也是diy……

开发环境:d7+spcomm2.5
查了许多资料,mscom32.ocx是activex,属于垃圾,不用;spcomm听说也是效率低下,有待进一步测试;tcomport是不错,oo做得好,用起来也不复杂,问题是,竟然没有28800这个速率。自定义刚研究出来,有待进一步测试。有朋友有研究的也请发表一下意见。

copyleft,如果需要学习研究的可以想我索要源代码,只是里面很乱,见不得人……
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线radiolee
发帖
6050
只看该作者 1楼 发表于: 2006-01-15
使用帮助
1,打开软件默认连接com1,如果您的nwt7或者需要测试的设备不在com1,可能会有个错误提示(有还是没有取决于您的com1上有没有连接设备),请选择设备所在的com口,软件会自动重新连接,右边的大消息窗口会有提示,是否已连接相应的com口;
2,请设置连接波特率,默认已是57600适合nwt7的操作。更改这个设置为您的设备所定义的值,如果不是qbt那里标准配置的nwt7就要注意选择了。选完会自动适应,没有提示的;
3,伪造上行指令,用默认的也可以;
4,点击发送测试按钮。数据发送出去以后,只要相应的com口有数据传回来,就证明单片机与主机通讯正常。如果没有数据传回,则证明单片机到主机的通讯不正常,要检查这部分的硬件电路。(附图就是easy 51 pro在28800通过01 02指令,查询监控芯片返回的数据,1e 52 06就是89s52的特征字,说明easy 51 pro已在控制之中)
5,关闭软件,自动关闭已打开的com口。

一点说明:下行指令只发送前18个字节,并且必须为hex,格式参照输入框中填好的内容。其他功能还没做进去,今天单单搞这个pansichar类型搞了半天……一个bit一个bit地传我嫌太慢。说远了,反正有这么个限制请注意一下。不会伪造的就用默认填的那个吧。


如果有什么bug请与我联系。
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BG7IGJ
发帖
1998
只看该作者 2楼 发表于: 2006-01-15
我也写了一个,用VB写的
我也写了一个,用vb写的
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线radiolee
发帖
6050
只看该作者 3楼 发表于: 2006-01-15
vb那是用mscomm控件的吧,想请教一下它的效率和使用方便性如何?
离线BG7IGJ
发帖
1998
只看该作者 4楼 发表于: 2006-01-15
'
vb那是用mscomm控件的吧,想请教一下它的效率和使用方便性如何?
'
是用 mscomm控件,vb 简单,用起来方便,写串口和网口程序还是可以地
离线shou_xin
发帖
972
只看该作者 5楼 发表于: 2006-01-15
我也是用d7 spcomm写的
离线radiolee
发帖
6050
只看该作者 6楼 发表于: 2006-01-15
ocx没啥效率啊。您有做过高速串口的案例吗?超过115200bps的
离线radiolee
发帖
6050
只看该作者 7楼 发表于: 2006-01-15
[quote=shou_xin]我也是用d7 spcomm写的[/quote]

看来高手很多啊,在这里现丑了。是许多朋友调试nwt7无法确定单片机有没有正常送数据进电脑,我才弄了一个。
离线BG7IGJ
发帖
1998
只看该作者 8楼 发表于: 2006-01-15
'
ocx没啥效率啊。您有做过高速串口的案例吗?超过115200bps的
'
这和软件没多大关系吧,只要和电脑硬件有关系,只要电脑硬件支持,大多数软件 都能做
离线BG7FR
发帖
2207
只看该作者 9楼 发表于: 2006-01-15
请教怎样才能把字符串转换成二进制编码? 我想把一般文字或数字转换成二进制码,再把二进制码转换成音频信号(0和1用不同的音频表示)再通过机器发出去,在别外一台机器上
接收到音频再还原成文字.不知道哪位高手能编一个这样的程序.
离线BG7IGJ
发帖
1998
只看该作者 10楼 发表于: 2006-01-15
为什么要转成二进制呢?用字符不可以吗?其实字符在 电脑内存里,也是二进制的
离线BG7FR
发帖
2207
只看该作者 11楼 发表于: 2006-01-15
再请教个问题,单片机和电脑的串口连接,要通过max232进行电压转换,max232我这买不到,不知哪位朋友能提供一个用三极管作电压转换的电路.
离线BG7IGJ
发帖
1998
只看该作者 12楼 发表于: 2006-01-15
  来了
本主题包含附件,请 登录 后查看, 或者 注册 成为会员
离线BG7FR
发帖
2207
只看该作者 13楼 发表于: 2006-01-15
bg7igj回贴动作真快,谢谢.
离线BG7IGJ
发帖
1998
只看该作者 14楼 发表于: 2006-01-15
我发贴不多,但经常在这里潜水,在这里注册三年多了,哈哈
离线radiolee
发帖
6050
只看该作者 15楼 发表于: 2006-01-15
'
这和软件没多大关系吧,只要和电脑硬件有关系,只要电脑硬件支持,大多数软件 都能做
'

好像spcomm到115200就会丢码了,在delphi窑洞里看到许多贴都无法解决实时性的要求。一般要sleep,一睡就完蛋了,实时性就跟不上了。我拿到的例程就是这样的,是我自己改的。暂时还没发现问题。最好能找到一台不断满速率发数据回来的仪器做测试,就很清楚了。

另外,要到600多kbps,好像手上的控件都会有问题的。不知道有没有人可以把串口做成1.5mbps的
离线radiolee
发帖
6050
只看该作者 16楼 发表于: 2006-01-15
'
我发贴不多,但经常在这里潜水,在这里注册三年多了,哈哈
'
潜水专家。那今天很容易把您从水底呼唤出来,哈哈
离线BG7IGJ
发帖
1998
只看该作者 17楼 发表于: 2006-01-15
'
好像spcomm到115200就会丢码了,在delphi窑洞里看到许多贴都无法解决实时性的要求。一般要sleep,一睡就完蛋了,实时性就跟不上了。我拿到的例程就是这样的,是我自己改的。暂时还没发现问题。最好能找到一台不断满速率发数据回来的仪器做测试,就很清楚了。
另外,要到600多kbps,好像手上的控件都会有问题的。不知道有没有人可以把串口做成1.5mbps的
'


你可以 用电脑的两个串口试试,两个串口相连,打开两个 软件, 一个发,一个收,用 115200 的速率发,看收到的 有没有掉码
离线BG7FR
发帖
2207
只看该作者 18楼 发表于: 2006-01-15
记不清是在哪本书上看到过,串口好象只能到9600,再高就不行了,不知道是真是假.
离线BG7IGJ
发帖
1998
只看该作者 19楼 发表于: 2006-01-15
'
记不清是在哪本书上看到过,串口好象只能到9600,再高就不行了.
'
不是,可以更高,高很多