关于一个无线收发模块的单片机的接收程序问题,求指导!
自己这两天刚学的串口通信,自己编了一个,不知道对不对。上位机中发送程序:(发送的数据是四位字符串)
int shuju=0;
shuju+=bianhao[time1]*100+time1; //bianhao是对应接收的用户号;time1对应接收的paixu;
CString SJ; //程序目的是将发送的bianhao和time1在
SJ.Format(_T("%4d",shuju);//想生成四位字符串;//接收端显示出来;
mscomm.SetOutput(COleVariant(SJ));
下位机接收程序:(lcd显示部分没有写)
#include<reg52.h>
#define H 1
unsigned char cdata[4]; //存储接收的字符串
int yonghuhao=0; //用户号
int paixu=0; //排序,表示之前排队的人数
unsigned char dataint[4]; //将字符串转化后对应的数字
void Init_Com()
{
TMOD=0x20;
PCON=0x00;
SCON=0x50;
TH1=0xFd;
TL1=0xFd;
TR1=1;
}
void main()
{
Init_Com();
unsigned int a;
while(1)
{
if(RI)
{
RI=0;
for(a=0;a<4;a++)
{
cdata[3-a]=SBUF;//这样接收不知道,/不知道是先高位还是低位接收,我 是按先高位
}
for(a=0;a<4;a++)
{
if(cdata[a]>='0'&&cdata[a]<='9')//字符变成数字;
dataint [a]=cdata[a]-'0';
}
yonghuhao=dataint[3]*10+dataint[2]; //前高两位是用户号,
}
if(yonghuhao==H)//判断用户号是否与用户本身H相对应;
{
paixu=dataint[1]*10+dataint[0];//显示排序大小
//写显示程序;
}
else{//写显示程序,将原来的paixu显示出来}
}
}
第一次写,不知道对否,希望高手能看一下给个意见,暑假了老师又不在,想早点弄完就能放假回家了;感谢!!!
另附无线接收模块的型号:JTT-433-UDI
用此无线收发模块接的单片机
如果问题还有什么遗漏请M我~~~求指导~~感激不尽~~