电脑圈圈做的USB转串口——源代码包以及电路图

[复制链接]
 楼主| computer00 发表于 2007-12-11 01:23 | 显示全部楼层 |阅读模式
只支持8位数据位,无奇偶校验,无硬件流控制。<br />波特率最高可支持到115200bps以及230400bps。<br /><br />源代码包下载:<a href="http://bbs.21ic.com/upfiles/img/200712/2007121111442560.rar" target=_blank>http://bbs.21ic.com/upfiles/img/200712/2007121111442560.rar</a><br /><br />第一次连接时会提示选择安装驱动程序,请指定源代码包中的inf文件,<br />这时会提示未经数字签名,选择仍然继续安装就可以了。<br /><br />另外给大家推荐一个比较好用的串口调试助手:<br /><a href="http://bbs.21ic.com/upfiles/img/200712/200712111195123.rar" target=_blank>http://bbs.21ic.com/upfiles/img/200712/200712111195123.rar</a><br /><br />原理图:<a href="http://group.**/Upload/2007/11/20/34c15093-f6cf-497b-a2ea-8dc2e3a7522f.pdf" target=_blank>http://group.**/Upload/2007/11/20/34c15093-f6cf-497b-a2ea-8dc2e3a7522f.pdf</a><br /><br /><img src="http://group.**/Upload/2007/11/20/6b0c089e-da3a-4655-9b4d-81133788b6b4.JPG"><br /><br /><img src="http://bbs.21ic.com/upfiles/img/200712/2007121112223457.jpg">
wahahaabc 发表于 2007-12-11 09:16 | 显示全部楼层

re:computer00

computer00&nbsp;大侠的USB转RS232是否这样测试过:用115200波特率做测试,因为115200波特率发送一个字节的时间大概是90us,所以,使用串口调试工具进行自发自收测试,启动自动发送功能,发送时间间隔为10ms,每次发送100个字节,差不多100us发一个字节,在这种情况下测试,是否会有数据丢失?<br /><br />小弟前段时间做了一个USB转RS232,也是使用51单片机+PDIUSBD12,但是无法通过上述测试
 楼主| computer00 发表于 2007-12-11 10:02 | 显示全部楼层

使用串口调试助手自发自收,显示数据有问题

好象是多了些回车换行,我突然想起来我是勾了那个发送新行的,<br />是不是因为这个原因,时间到了它就发了个回车换行,把我的数据<br />弄乱了?我中午回去再测试。<br /><br />但是下面的提示接收数量和发送数量却是一样的,我晕。<br /><br />但是使用两个串口调试助手就没问题了,一个收,一个发。<br /><br />可以两边同时对发,115200bps收发一个都不漏。发送一个200K的文件大概要<br />20几秒。<br /><br />230400bps的我还没测试过,因为我的电脑自带的串口不支持这么高的波特率。<br />我估计是没问题的。<br /><br />我串口接收和USB接收分别使用了64bytes的缓冲区,串口接收使用中断方式,<br />循环缓冲。<br />100us一字节,处理速度应该是足够了的。我用22.1184M的晶体,大概有2MIPS。<br /><br />另外我还有几个问题想问下你,就是那些线路状态如何返回?文档里有个SerialState的Notification,<br />但是我发现主机从来都没去请求过。另外我也有一个中断端输入端点,但是也不知道是否可以通过它返回<br />状态?我强行返回一些数据,没用。<br /><br />另外,当主机设置波特率时,我的设备不支持,那我应该返回怎样的信息告诉主机?<br />我直接将当前设置的波特率(跟主机请求的不一样)在GetLineCoding时返回,结果<br />主机也认为设置波特率成功了,我晕...真不知道怎么办,文档里也没提到。是不是<br />不支持这个波特率,就不要返回状态包?文档里也没提到状态包该返回啥,我就返回<br />了0长度的状态包。
古道热肠 发表于 2007-12-11 12:58 | 显示全部楼层

好呀,支付共享!

  
doob 发表于 2007-12-13 12:11 | 显示全部楼层

支持啊,顶00

  
clarksh 发表于 2007-12-14 17:53 | 显示全部楼层

推荐一款芯片实现USB转串口

FT232&nbsp;&nbsp;可以实现串口UART转为USB&nbsp;&nbsp;包括RS232/422/485/TTL
john871410 发表于 2007-12-20 11:43 | 显示全部楼层

老大,你太强了
aweyfan 发表于 2007-12-20 14:06 | 显示全部楼层

代码看了一下,发现很多缺陷

先记着,以后再说
aweyfan 发表于 2007-12-20 16:18 | 显示全部楼层

偶认为的缺陷,欢迎拍砖

1&nbsp;为什么不用总线方式驱动?<br />2&nbsp;d12中断用主程序查询方式处理<br />3&nbsp;串口发送居然在死等<br />4&nbsp;串口接收明明缓存有数,只送一部分,剩下的第二次送<br />5&nbsp;缺少对临界资源的保护
aweyfan 发表于 2007-12-20 18:03 | 显示全部楼层

computer00陪小蜜去了,也不来拍?

笔记本到了?
 楼主| computer00 发表于 2007-12-21 01:31 | 显示全部楼层

这有啥好拍的?

1&nbsp;为什么不用总线方式驱动?<br />——个人不喜欢用总线方式,IO口模拟时序方便控制,想怎么玩就怎么玩。<br /><br />2&nbsp;d12中断用主程序查询方式处理<br />——用查询方式有什么不好的?难道非要搞个中断,在中断里面设置个标志,然后再到主程序中去查询这个标志?<br /><br />3&nbsp;串口发送居然在死等<br />——串口发送死等有啥不好的?反正都没发完,也不想干其它的事了。<br /><br />4&nbsp;串口接收明明缓存有数,只送一部分,剩下的第二次送<br />——这个是一个循环缓冲,你给想一个更好一点的办法出来发送数据?分两次发有什么不好的?出现这样的情况的概率有多少?<br /><br />5&nbsp;缺少对临界资源的保护&nbsp;<br />——除了串口接收中断之外,其它地方没啥中断了,还要保护哪里的临界资源?<br /><br /><br />最后声明一下,这个是一个USB学习板,提供给学习USB的人学习USB用,程序越简单越好,硬件越容易理解越好。<br />
王紫豪 发表于 2007-12-22 01:43 | 显示全部楼层

hh ,不错

  
zsl602 发表于 2007-12-22 11:45 | 显示全部楼层

哈哈,不错!

哈哈,不错,00有个性。
lltwalkman 发表于 2007-12-25 21:04 | 显示全部楼层

OO牛人

设计得由个性发挥,当然约束项也是动力的存在.
bjlcl 发表于 2007-12-26 23:31 | 显示全部楼层

qiang!!!

  
keer_zu 发表于 2007-12-27 14:10 | 显示全部楼层

hehe

  
huangqi412 发表于 2007-12-27 18:13 | 显示全部楼层

顶00

  
52mcu 发表于 2007-12-27 22:51 | 显示全部楼层

原理图中P1IDEPORT是个啥器件

  
52mcu 发表于 2007-12-27 22:56 | 显示全部楼层

pc上的驱动程序是如何做的 请圈圈指教

  
 楼主| computer00 发表于 2007-12-28 01:25 | 显示全部楼层

P1IDEPORT是硬盘接口,挂硬盘用的,你可以不用理它

这个是个学习板来的,所以其它东西比较多,例如键盘,LED等。<br /><br />驱动程序我不用写,只需要弄个inf文件,告诉系统需要复制那些驱动程序文件就行了。<br />驱动程序是windows自带的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

247

主题

14712

帖子

212

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

247

主题

14712

帖子

212

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