| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 483 人关注过本帖
标题:关于一个无线收发模块的单片机的接收程序问题,求指导!
只看楼主 加入收藏
robinseason
Rank: 1
来 自:福州
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-8-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
关于一个无线收发模块的单片机的接收程序问题,求指导!
自己这两天刚学的串口通信,自己编了一个,不知道对不对。
上位机中发送程序:(发送的数据是四位字符串)
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我~~~求指导~~感激不尽~~
搜索更多相关主题的帖子: include 字符串 用户 
2012-08-09 23:54
FJLBL001
Rank: 2
等 级:论坛游民
帖 子:2
专家分:22
注 册:2012-8-10
收藏
得分:20 
基本没错,可以用proteus仿真下!
2012-08-10 17:30
快速回复:关于一个无线收发模块的单片机的接收程序问题,求指导!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016215 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved