㈠ 基于PROTEUS软件,单片机与VB的串口通信纯软件仿真问题怎么解决
1.VB 不能工作报什么错误?
2.还有一个需要说明你用的是不是同一个断口啊,同一时刻,相同端口只能被一个进程打开。
3.最好的仿真办法是单片机部分使用一个端口,比如端口1,VB使用一个端口,比如端口2,然后在电脑端用一根线把1和2端口的2,3针短接,这样就相当于把端口1作为下位机了。当然也可以下载虚拟串口软件,用软件在电脑内部虚拟连接起来,起到相同的效果。
有什么疑问继续探讨
㈡ vb与单片机通讯问题
可以做到,我觉得,如果你有了想法在有条件的情况下,先做,遇到问题在想去问别人。在自己做的过程中可以学到很多经验,从来得到更适合自己的方法。
1,奇偶校验方法,建议使用TB8,RB8,如果你要放到字节里,也不是不可以,但在计算的时候,不能计算奇偶校验位本身。这样做的画可以考虑真个数据包一起效验。
2,建议通码明老讯地址放在通讯开始标识后面,这样从机反映会可以做快些。槐隐
3,不管多简单的协议,建议都有,开始标志,地址,命令,长度,数据,效验,结束标志。
哪怕是一个数据位都可以,这样,比较有调理点,会减少很多数据误传的迟升问题。
㈢ VB环境下使用MSComm实现PC机与单片机的通信程序
MSComm1.CommPort=3'这里搞一个你的电脑上没有的串口号,例如我的电脑没有串口3
MSComm1.PortOpen=True
MSComm1.PortOpen=FalseExitSubComm_Error:
If(Err.Number=comPortInvalid)Then
MsgBox"无效的串口号!"&Chr(13)&Chr(10)&"错误代码:"&comPortInvalid&Chr(13)&Chr(10)&"错误原因:你的人品有问题。",vbOKOnly+vbCritical,"串口错误"ElseMsgBox"其它错误。错误号:"&Err.Number,vbOkOnly+vbCritical,"串口错误"EndIfExitSubResumeNextEndSub
在窗体上放一个MSComm1的控件,然后在程序中就可以使用上面的代码了。这段代码演示了一个无效串口号的运行效果。
你可以将上面的代码改成自己所需要的代码,或者做得更通用一些~~~~~~例如,设置一个输入参数,
以及返回结果。
PrivateFunctionTest_COM1(nAsInteger)AsInteger
OnErrorGoToComm_Error
MSComm1.CommPort=n'这里接收传入的串口号
MSComm1.PortOpen=True
MSComm1.PortOpen=False
Test_COM1=0'如果操作成功,则说明当前串口可用,返回0,表示串口可用ExitSubComm_Error:
MsgBox"无效的串口号!"&Chr(13)&Chr(10)&"错误代码:"&comPortInvalid&Chr(13)&Chr(10)&"错误原因:你的人品有问题。",vbOKOnly+vbCritical,"串口错误"ElseMsgBox"其它错误。错误号:"&Err.Number,vbOkOnly+vbCritical,"串口错误"EndIfTest_COM1=Err.Number'如果出错,则返回错误代码ExitSubResumeNextEndSub
㈣ 如何使用VB6来编写一个软件或界面再用USB线来实现与单片机通讯,用到USB线的话,VB6中要用到哪些控件
VB6里面没有专门的USB控件,我也不知道你用的什么单片机,普通的单片机是没有USB功能的,稍微高级的一点ARM是有的,这就比较悲催。
早先以前,我们一个项目恰恰也是这种要求,我当时的解决方案是这样的:
1,把单片机上的串口通过芯片转换,转换成USB,然后电脑的操作系统就能够能过USB设备识别出虚拟的串口。
2,用VB编写上位机软件,其实就是对虚拟的串口进行读写操作。
所以,其本质仍然是串口对串口的通信 ,只是中间经过了一次USB的转换而已。
我们当时用的是CHT340,这种方案比较麻烦的是,你要先在上位机装次驱动才行
㈤ 用vb如何设计控制单片机的程序
一般只用串口通信对单片机控制。
如果单片机有USB控制器就可以USB去控制。这个相对比较复杂。
不过现在大部分都是通过串口发命令的。