vc++串行(用CSerial类编写上位机)单片机通信问题 求助

来源:百度知道 编辑:UC知道 时间:2024/06/22 05:33:41
我用VC6.0 的CSerial类编写了一个上位机,里面是调用汉字库HZK16的。 下位机 的通信协议已经写好了。现在上位机的应该如何调用了?上位机是调用汉字库,定义发送的数据类型还是用CString data []来定义吗??还是说汉字是用其他的类定义? 以下是我的下位机的程序。麻烦帮我帮帮我看下如何编写上位机的通信协议好吗?? 我想把收集到的汉字字模 的变量用VARIANT 来定义。整体应该如何了?

void UART()interrupt 4
{
uchar buffer,r; //缓存
EA=0;
if(RI)
{
RI=0; //清除中断标志
buffer=SBUF; //读取串口数据
switch (x)
{
case 0: //第一次数据
if(buffer=='S') //收到握手信号
{
x=1;
SBUF_byte('s');
//j=0;
//SBUF_byte(j);
}
break;
case 1:
if(buffer=='y') //判断第二个字节,为Y时亮LED,为C时写RAM
{ P1=!P1;
x=0;
SBUF_byte(

这个设计的思路是这样:

PC机,可以自发自收,在COM1、COM2之间,连接线路,可以使用“串口调试助手”软件。保证单个字节、多个字节连续、单向、互相、都能畅通无阻。
串口调试助手的作者,写了一本书,你试试看,通信的方法,写得很好的。

当PC机发、收成功之后,再和单片机进行互相通信的调试。

最后,再研究制定自己的通信协议。