4737|16

142

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

这个程序返回值应该是多少啊 [复制链接]

 
#include
#include

sbit RS485 = P1^4;   
bit SendFlag;
unsigned int ReData,SenData;

void delay(unsigned char i)
{
        unsigned char j;
        for(i; i > 0; i--)
                for(j = 200; j > 0; j--);
}

void main (void)
        {
    SCON = 0x50;                      
          TMOD|= 0x20;     
                PCON|= 0x80;                                                         
                TH1 = 0xF3;         
                TL1 = 0xF3;      
                TR1  = 1;                                                            
                ES   = 1;      
                EA   = 1;      
       
           // IE = 0x0;

        while(1)
    {
       
          if (SendFlag==1)   
              {  
                                RS485=1;        
              SBUF=SenData;          
                  delay(50);
       }
         else
             {
              RS485=0;       
             }
    }
  }

void ser_int (void) interrupt 4 using 1
{
if(TI == 1)
{
        TI = 0;
        SendFlag = 0;
}

if(RI == 1)      
{
        RI = 0;                  
        ReData = SBUF;  
        SenData=ReData;
        SendFlag = 1;
}
}


此帖出自单片机论坛

最新回复

本帖最后由 huo_hu 于 2018-1-15 18:11 编辑 RS485这个收发位,变化状态以后加个延时再试试  详情 回复 发表于 2018-1-15 18:10
点赞 关注
 

回复
举报

142

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
一直发送00返回值会变化

此帖出自单片机论坛
 
 

回复

506

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
应该是发啥返回啥
此帖出自单片机论坛

点评

那我的错误可能是什么问题啊  详情 回复 发表于 2018-1-12 15:58
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

4
 
这是发送AA的返回

此帖出自单片机论坛
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

5
 
bioger 发表于 2018-1-12 15:45
应该是发啥返回啥

那我的错误可能是什么问题啊
此帖出自单片机论坛

点评

你以十六进制发送一下试试  详情 回复 发表于 2018-1-12 16:48
 
 
 

回复

506

帖子

0

TA的资源

一粒金砂(高级)

6
 
dinghao1 发表于 2018-1-12 15:58
那我的错误可能是什么问题啊

你以十六进制发送一下试试
此帖出自单片机论坛

点评

就是十六进制发送的啊  详情 回复 发表于 2018-1-12 17:34
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

7
 
bioger 发表于 2018-1-12 16:48
你以十六进制发送一下试试

就是十六进制发送的啊
此帖出自单片机论坛

点评

那你就发送一个固定的值 看看收到的和发送的是否一样  详情 回复 发表于 2018-1-12 21:42
 
 
 

回复

9714

帖子

24

TA的资源

版主

8
 
确定波特率是4800吗?
此帖出自单片机论坛

点评

1L是程序,波特率是4800吧  详情 回复 发表于 2018-1-15 08:36
 
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

506

帖子

0

TA的资源

一粒金砂(高级)

9
 
dinghao1 发表于 2018-1-12 17:34
就是十六进制发送的啊

那你就发送一个固定的值  看看收到的和发送的是否一样
此帖出自单片机论坛
 
 
 

回复

4005

帖子

0

TA的资源

版主

10
 
你收发短接看看问题出在哪儿,多半是波特率不对
此帖出自单片机论坛
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

11
 
232收发短接,接收正常,加上232转485就不正常了
此帖出自单片机论坛
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

12
 
littleshrimp 发表于 2018-1-12 18:09
确定波特率是4800吗?

1L是程序,波特率是4800吧
此帖出自单片机论坛
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

13
 
加上232转485后,十六进制分别发送五次:00返回00、01返回FF00、02返回混乱、03返回FE00

此帖出自单片机论坛
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

14
 
这是232转485有问题么
此帖出自单片机论坛
 
 
 

回复

4005

帖子

0

TA的资源

版主

15
 
本帖最后由 huo_hu 于 2018-1-15 18:11 编辑

RS485这个收发位,变化状态以后加个延时再试试
此帖出自单片机论坛

点评

可以了,谢谢  详情 回复 发表于 2018-1-16 11:14
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

16
 
huo_hu 发表于 2018-1-15 18:10
RS485这个收发位,变化状态以后加个延时再试试

可以了,谢谢
此帖出自单片机论坛
 
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

17
 
变化状态后面加延时程序后收发正常


此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表