
3个回答
展开全部
我以前做实验的时候发现,用单片机串口工作方式一给计算机发数据并不能准确的发过去,经常是发一个0x00,计算机收到的可能是0xFE。我老师分析说可能是出现丢码现象,后来我的解决方法是设置用单片机的串口工作方式三发送数据,也就是多发一位数据,但计算机是忽略多发的那一位的。这多发的一位只是为了保证不会丢码。
你的VB程序我看不懂,但我建议是这样:
1:先去下一个通用的串口调试软件代替你的VB程序,用你原来单片机的程序给计算机发数据,这样如果串口调试软件接收到的数据是正确,说明你的VB程序问题。
2:如果上述方法接收的还是错误数据,则建议把单片机串口工作方式改成方式三,波特率和其他的不用变。再然串口调试软件接收数据看看。
另外:“PCON=0x00; //开总中断,开串口中断”
PCON不是中断控制器,下面那句才是。 开中断。
你的VB程序我看不懂,但我建议是这样:
1:先去下一个通用的串口调试软件代替你的VB程序,用你原来单片机的程序给计算机发数据,这样如果串口调试软件接收到的数据是正确,说明你的VB程序问题。
2:如果上述方法接收的还是错误数据,则建议把单片机串口工作方式改成方式三,波特率和其他的不用变。再然串口调试软件接收数据看看。
另外:“PCON=0x00; //开总中断,开串口中断”
PCON不是中断控制器,下面那句才是。 开中断。
参考资料: 百度一下
展开全部
计算机发数据并不能准确的发过去,经常是发一个0x00,计算机收到的可能是0xFE。我老师分析说可能是出现丢码现象,后来我的解决方法是设置用单片机的串口工作方式三发送数据,也就是多发一位数据,但计算机是忽略多发的那一位的。这多发的一位只是为了保证不会丢码。
你的VB程序我看不懂,但我建议是这样:
1:先去下一个通用的串口调试软件代替你的VB程序,用你原来单片机的程序给计算机发数据,这样如果串口调试软件接收到的数据是正确,说明你的VB程序问题。
2:如果上述方法接收的还是错误数据,则建议把单片机串口工作方式改成方式三,波特率和其他的不用变。再然串口调试软件接收数据看看。
另外:“PCON=0x00; //开总中断,开串口中断”
PCON不是中断控制器,下面那句才是。 开中断。
你的VB程序我看不懂,但我建议是这样:
1:先去下一个通用的串口调试软件代替你的VB程序,用你原来单片机的程序给计算机发数据,这样如果串口调试软件接收到的数据是正确,说明你的VB程序问题。
2:如果上述方法接收的还是错误数据,则建议把单片机串口工作方式改成方式三,波特率和其他的不用变。再然串口调试软件接收数据看看。
另外:“PCON=0x00; //开总中断,开串口中断”
PCON不是中断控制器,下面那句才是。 开中断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单从串口 通信角度,你这个是没有问题的
问题是 你的 单片机要有程序显示
问题是 你的 单片机要有程序显示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询