上位机pc通过串口向单片机发送hex文件

2025-02-27 08:14:54
推荐回答(3个)
回答1:

我以前做实验的时候发现,用单片机串口工作方式一给计算机发数据并不能准确的发过去,经常是发一个0x00,计算机收到的可能是0xFE。我老师分析说可能是出现丢码现象,后来我的解决方法是设置用单片机的串口工作方式三发送数据,也就是多发一位数据,但计算机是忽略多发的那一位的。这多发的一位只是为了保证不会丢码。
你的VB程序我看不懂,但我建议是这样:
1:先去下一个通用的串口调试软件代替你的VB程序,用你原来单片机的程序给计算机发数据,这样如果串口调试软件接收到的数据是正确,说明你的VB程序问题。
2:如果上述方法接收的还是错误数据,则建议把单片机串口工作方式改成方式三,波特率和其他的不用变。再然串口调试软件接收数据看看。

另外:“PCON=0x00; //开总中断,开串口中断”
PCON不是中断控制器,下面那句才是。 开中断。

回答2:

计算机发数据并不能准确的发过去,经常是发一个0x00,计算机收到的可能是0xFE。我老师分析说可能是出现丢码现象,后来我的解决方法是设置用单片机的串口工作方式三发送数据,也就是多发一位数据,但计算机是忽略多发的那一位的。这多发的一位只是为了保证不会丢码。
你的VB程序我看不懂,但我建议是这样:
1:先去下一个通用的串口调试软件代替你的VB程序,用你原来单片机的程序给计算机发数据,这样如果串口调试软件接收到的数据是正确,说明你的VB程序问题。
2:如果上述方法接收的还是错误数据,则建议把单片机串口工作方式改成方式三,波特率和其他的不用变。再然串口调试软件接收数据看看。

另外:“PCON=0x00; //开总中断,开串口中断”
PCON不是中断控制器,下面那句才是。 开中断。

回答3:

单从串口 通信角度,你这个是没有问题的
问题是 你的 单片机要有程序显示