|
//485数据发送
void send_data(unsigned char addr,unsigned char type,unsigned char len ,unsigned char *buf)//发送程序单片机---PC
{
unsigned int i;
unsigned char checksum =0;
PORTC.5=1;
putchar(0x68); //发送头
delay_ms(1);
checksum=checksum+0x68;
//发送地址
putchar(addr);
delay_ms(1);
checksum=checksum+addr;
putchar(0x68);
delay_ms(1);
checksum=checksum+0x68;
putchar(type); //命令
delay_ms(1);
checksum=checksum+type;
putchar((len+2));//长度,加2是表示2个数据标示
delay_ms(1);
checksum=checksum+(len+2);
putchar(rx_buffer[5]);//标识
delay_ms(1);
checksum=checksum+rx_buffer[5];
putchar(rx_buffer[6]);
delay_ms(1);
checksum=checksum+rx_buffer[6];
for(i=0;i<len;i++)
{
putchar(*buf);
delay_ms(1);
checksum=checksum+*buf;
buf++;
}
putchar(checksum);
delay_ms(1);
putchar(0x16);
delay_ms(2);
PORTC.5=0;
}
为什么每次发生一个字节都要延时?PC才收到数据? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|