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

[复制链接]
 楼主| Newer_darui 发表于 2013-7-9 20:46 | 显示全部楼层 |阅读模式
我做的485通讯,用的是MODBUS协议,要实现上位机发送数据,单片机接受后回馈给上位机相应数据。我做的方法是让上位机给单片机传数据,然后接受数据产生中断(RC1IF置1)后,再开始进行发送数据给上位机。但现在的问题是,我用串口精灵自动发送数据后,一直不能产生中断。我不知道到底哪里出了问题。请高手帮忙解答下,我用的是PIC18F85J90,ICD2。再附上我的串口初始化程序

  1. void EUSART_init(void)              //异步串行通讯初始化函数
  2. {            
  3.              
  4.         SPBRG1=0x0C;          //波特率为9600(时钟频率为16M)  0x19
  5.                           //  SPBRGH1=0x00;      
  6.         RCSTA1=0x90;              //8位接收         
  7.         TXSTA1=0X00;
  8.     BRGH=0;               //高波特率选择位 (低速)
  9.         BRG16=0;              //16位波特率使能位
  10.     CREN=1;               //接收使能位
  11.          asm("CLRWDT");
  12.         RC1IF=0;
  13.         RC1IE=1;              //接收中断使能
  14.         RC1IP=1;              //高优先级
  15.     TX1IF=0;
  16.     TX1IE=1;
  17.     WUE=0;                //唤醒使能位    采样RX脚,
  18.         ABDEN=0;              //自动波特率检测使能位
  19.     PEIE=1;               //中断使能
  20. }
 楼主| Newer_darui 发表于 2013-7-9 21:01 | 显示全部楼层
请大家帮忙提出点问题,让我好有思路知道该怎么改,我刚刚学习嵌入式,不是怎么太会。希望有这方面经验的老鸟帮帮忙。。
651917901 发表于 2014-6-12 13:54 | 显示全部楼层
问题解决了么?我也遇到这个问题了,帮帮忙
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

10

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部