社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 295|回复: 16

[求助] 这个程序返回值应该是多少啊

[复制链接]

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-1-12 15:19:11 | 显示全部楼层 |阅读模式
#include <REG52.H>
#include <stdio.h>

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;
}
}


此帖出自单片机论坛


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-12 15:22:32 | 显示全部楼层
一直发送00返回值会变化
1.png


回复

使用道具 举报

209

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-1-12 15:45:46 | 显示全部楼层
应该是发啥返回啥

点评

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


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-12 15:55:22 | 显示全部楼层
这是发送AA的返回
2.png


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-12 15:58:21 | 显示全部楼层
bioger 发表于 2018-1-12 15:45
应该是发啥返回啥

那我的错误可能是什么问题啊

点评

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


回复

使用道具 举报

209

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-1-12 16:48:35 | 显示全部楼层
dinghao1 发表于 2018-1-12 15:58
那我的错误可能是什么问题啊

你以十六进制发送一下试试

点评

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


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-12 17:34:00 | 显示全部楼层
bioger 发表于 2018-1-12 16:48
你以十六进制发送一下试试

就是十六进制发送的啊

点评

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


回复

使用道具 举报

4956

TA的帖子

9

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-1-12 18:09:08 | 显示全部楼层
确定波特率是4800吗?

点评

1L是程序,波特率是4800吧  详情 回复 发表于 2018-1-15 08:36


回复

使用道具 举报

209

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-1-12 21:42:08 | 显示全部楼层
dinghao1 发表于 2018-1-12 17:34
就是十六进制发送的啊

那你就发送一个固定的值  看看收到的和发送的是否一样


回复

使用道具 举报

3039

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-1-13 20:02:56 | 显示全部楼层
你收发短接看看问题出在哪儿,多半是波特率不对


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-15 08:26:51 | 显示全部楼层
232收发短接,接收正常,加上232转485就不正常了


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-15 08:36:11 | 显示全部楼层
littleshrimp 发表于 2018-1-12 18:09
确定波特率是4800吗?

1L是程序,波特率是4800吧


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-15 08:43:12 | 显示全部楼层
加上232转485后,十六进制分别发送五次:00返回00、01返回FF00、02返回混乱、03返回FE00
P]BEUAB$GN=UH`XN{CCBS.png


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-15 08:43:36 | 显示全部楼层
这是232转485有问题么


回复

使用道具 举报

3039

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2018-1-15 18:10:31 | 显示全部楼层
本帖最后由 huo_hu 于 2018-1-15 18:11 编辑

RS485这个收发位,变化状态以后加个延时再试试

点评

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


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-16 11:14:45 | 显示全部楼层
huo_hu 发表于 2018-1-15 18:10
RS485这个收发位,变化状态以后加个延时再试试

可以了,谢谢


回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2018-1-16 11:18:36 | 显示全部楼层
变化状态后面加延时程序后收发正常
8MVFORXFLF8A8K`5Z9}@P{E.png



回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-4-26 21:01 , Processed in 0.459372 second(s), 19 queries , Redis On.

快速回复 返回顶部 返回列表