新手 要写一个PC控制LED显示数字和"FULL'的毕业程序
各位高手,我需要大家的帮忙,
我写好的了LED的代码,但是我不知道怎么让我的电脑用RS232连到LED?意识就是说我不知道RS232的协议,听朋友说要用协议来送DATA
还有就是用WINSOCK来和我导师软件里的SOCKET里受到DATA,大家可以帮我一下吗?
S8 charindex[32] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','P','H','L','U',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
struct packet_struct
{
U8 did,sid;
U8 data[4];
U8 chsh, chsl;
U8 rfu[10];
U8 chs;
U16 tlen;
U8 state;
}__attribute__((packed));
S8 getcharindex(S8 ch)
{
S16 i;
for(i=0;i<32;i++)
{
if(charindex==ch)
{
return(0x20+i);
};
}
return(0x3f);
};
S16 term_sendpacket(S8 *s)
{
struct packet_struct psr;
U8 * ptr, ch;
U16 i;
qtimer qt1;
//qprintf(send packet \n");
memset(&psr,0,sizeof(psr));
psr.did=0x80;
psr.sid=0x80;
memcpy(psr.data,s,4);
psr.chs=0;
for(i=0;i<4;i++)
psr.chs^=psr.data;
psr.chsh=0x30+((psr.chs>>4)&0x0f);
psr.chsl=0x30+((psr.chs)&0x0f);
psr.tlen=8;
ptr=(U8*)&psr;
qs485.send1ch(0x02);
qs485.send1ch(0x02);
qs485.send1ch(0x02);
for(i=0;i<(psr.tlen);i++)
{
ch=ptr;
qs485.send1ch(ch);
}
qs485.send1ch(0x02);
qs485.send1ch(0x02);
qt1.qdelay=(0.1);
// qt1.set(0.1);
// while(!qt1.timeout()) term_procpiob();
};
S16 term_sendlots(S16 lots)
{
S16 len1,i;
S8 s1[100],s2[100];
if(lots<=0)
memcpy(s2,"\x2f\x33\x32\x32",4);
else
{
memcpy(s2,"\x3f\x3f\x3f\x3f",4);
sprintf(s1,"%d",lots);
len1=strlen(s1);
for(i=0;i<len1;i++)
{
s2[3-i]=getcharindex(s1[len1-i-1]);
};
};
term_sendpacket(s2);
};