SSCOM32串口调试助手显示WriteFile function failed(win errorcode:6), 各位大牛,小弟今天编写C51串口中断程序时,遇到了一个问题,就是用SSCOM32串口调试助手发送程序,显示成这样:
请问这是什么原因呢?本人的开发板是普中科技的,数据线也连接得好好的,网上有人说要装虚拟串口。
以下是小弟的代码,还请大家指点!感激不尽!
#include “reg52.h”
#define uchar unsigned char
#define uint unsigned int
unsigned char flag,a,i;
uchar code table[] = “I get “;
void init()
{
TMOD = 0x20; //设定T1定时器工作方式2
TH1 = 0xfd; //T1定时器装初值
TL1 = 0xfd; //T1定时器装初值
TR1 = 1; //启动T1定时器
REN = 1; //允许串口接收位
SM0 = 0; //设定串口工作方式1
SM1 = 1; //同上
EA = 1; //开总中断
ES = 1; //开串口中断
}
void main()
{
init();
while(1)
{
if(flag == 1) //当检测到flag为1时,说明程序已经执行过串口中断服务,即受到了数据
{
ES = 0; //接下来要发送数据,若不关闭串口中断,当发送完数据后,单片机同样会申请串口中断
for(i = 0;i < 6;i ++)
{
SBUF = table; //发送数据
while(!TI); //等待发送完毕
TI = 0;
}
SBUF = a; //发送从PC端接收到的数据
TI = 0;
ES = 1; //发送完毕后,重新打开串口中断
flag = 0;
}
}
}
void ser() interrupt 4
{
RI = 0;
a = SBUF; //接收数据
flag = 1;
}