我想用SPCOMM发送数据到ATMEL89C52
指令格式:
D00、D01、D02、D03….
上式含义为:打开第00号、第01号、第02号、第03号….舱门其中,字符采用ASC码表示。单片机先检测是不是有“D”,有则处理下次收到的数据。
请问应该怎样写发送代码
指令格式:
D00、D01、D02、D03….
上式含义为:打开第00号、第01号、第02号、第03号….舱门其中,字符采用ASC码表示。单片机先检测是不是有“D”,有则处理下次收到的数据。
请问应该怎样写发送代码
sp:string;
l:array[0..10] of char;//发送时用到的临时变量
begin
sp:=#$0D#$01;
strpcopy(l,sp);
spcom.WriteCommData(l,2);
end;
别忘了给分呀!
下面是我的串口中断程序:
RS232: PUSH ACC;
PUSH PSW;
MOV R6,#00H;与7DH一起作为1S延时的标志。
SETB 7DH;
JBC TI,PANRI;
PANRI: JNB RI,RSEND;
CLR RI;
MOV A,SBUF;
CJNE A,#44H,REACT;
SETB 7EH;
MOV SBUF,A;
LJMP RSEND;
REACT: JNB 7EH,RSEND;
CLR 7EH;
MOV A,SBUF;
MOV SBUF,A;
MOV R3,A;
SETB 7FH;
RSEND: POP PSW;
POP ACC;
RETI ;7FH作为中断外面是否对R3进行处理的标记。对R3*2后再表找到对就了程序的入口,子程序处理8155的口的电平。
请注意单片机每接收到一字节数据都是要回送的。急!谢谢大家。 MOV TMOD,#00100001B;
MOV IE,#00010010B;
MOV SCON,#01010000B;
MOV TH1,#0FDH; 9600 BIT
MOV TL1,#0FDH;
SETB TR1;
请大家参考