打印

485通讯不能接受上位机信息

[复制链接]
1565|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Newer_darui|  楼主 | 2013-7-9 20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做的485通讯,用的是MODBUS协议,要实现上位机发送数据,单片机接受后回馈给上位机相应数据。我做的方法是让上位机给单片机传数据,然后接受数据产生中断(RC1IF置1)后,再开始进行发送数据给上位机。但现在的问题是,我用串口精灵自动发送数据后,一直不能产生中断。我不知道到底哪里出了问题。请高手帮忙解答下,我用的是PIC18F85J90,ICD2。再附上我的串口初始化程序

void EUSART_init(void)              //异步串行通讯初始化函数
{            
             
        SPBRG1=0x0C;          //波特率为9600(时钟频率为16M)  0x19
                          //  SPBRGH1=0x00;      
        RCSTA1=0x90;              //8位接收         
        TXSTA1=0X00;
    BRGH=0;               //高波特率选择位 (低速)
        BRG16=0;              //16位波特率使能位
    CREN=1;               //接收使能位
         asm("CLRWDT");
        RC1IF=0;
        RC1IE=1;              //接收中断使能
        RC1IP=1;              //高优先级
    TX1IF=0;
    TX1IE=1;
    WUE=0;                //唤醒使能位    采样RX脚,
        ABDEN=0;              //自动波特率检测使能位
    PEIE=1;               //中断使能
}
沙发
Newer_darui|  楼主 | 2013-7-9 21:01 | 只看该作者
请大家帮忙提出点问题,让我好有思路知道该怎么改,我刚刚学习嵌入式,不是怎么太会。希望有这方面经验的老鸟帮帮忙。。

使用特权

评论回复
板凳
651917901| | 2014-6-12 13:54 | 只看该作者
问题解决了么?我也遇到这个问题了,帮帮忙

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

1

粉丝