我的程序写的不对吗,求大佬指教,代码该加什么该减啥 #include <reg51.h> #include<stdio.h> typedef unsigned char uint8; typedef unsigned int uint16; uint8 Buf[32]="#3P1800S750"; void delay(uint16 n) { while (n--); } /*波特率为9600*/ void UART_init(void) { SCON = 0x50; //串口方式1 TMOD = 0x29; // 定时器使用方式2自动重载 TH1 = 0xFD; //9600波特率对应的预设数,定时器方式2下,TH1=TL1 TL1 = 0xFD; TR1 = 1;//开启定时器,开始产生波特率 } /*发送一个字符*/ void UART_send_byte(uint8 dat) { SBUF = dat; //把数据放到SBUF中 while (TI == 0);//未发送完毕就等待 TI = 0; //发送完毕后,要把TI重新置0 } /*发送一个字符串*/ void UART_send_string(uint8 *buf) { while (*buf != '\0') { UART_send_byte(*buf++); } } void main() { unsigned char a=13; float c; int d=500; UART_init(); while (1) { delay(50000); sprintf(Buf,"#1P%dS1000%c",d,a); UART_send_string(Buf); }}
|