procedure TForm1.Button2Click(Sender: TObject);
var
str:string;begincomm1.BaudRate:=115200;comm1.ParityCheck:=false;comm1.StartComm;str:='at$$moreq=0,13079312962,,4098,你好!系统测试';comm1.WriteCommData(@str,length(str));comm1.StopComm;end;
var
str:string;begincomm1.BaudRate:=115200;comm1.ParityCheck:=false;comm1.StartComm;str:='at$$moreq=0,13079312962,,4098,你好!系统测试';comm1.WriteCommData(@str,length(str));comm1.StopComm;end;
所以在startcomm的立即调用writecommdata,writecommdata后立即调用stopcomm都是有问题的。
你可以把startcomm放在formcreate中,而把stopcomm放在stopcomm中,决对没有问题。
还有这句得改一下:comm1.WriteCommdata (@str[1],Length (str)); //@str[1]
我想这是一条手机模块发短信的指令,所以又得提醒你了,手机只认UNICODE,也就是UCS2,国标码是不认识的,显示定为乱码。
所以在startcomm的立即调用writecommdata,writecommdata后立即调用stopcomm都是有问题的。
你可以把startcomm放在formcreate中,而把stopcomm放在stopcomm中,决对没有问题。
还有这句得改一下:comm1.WriteCommdata (@str[1],Length (str)); //@str[1]