微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 一个关于16f877a用485通讯的问题

一个关于16f877a用485通讯的问题

时间:10-02 整理:3721RD 点击:
小弟不才初学PIC,用485通讯 电脑这边用串口调试助手,助手收不到发送的消息,不知是不是我的程序出了问题,还请各位高手给挑挑毛病。谢谢!
#include<pic.h>
__CONFIG(0x3B31);
#define DI RC5//DI为0为接收,DI为1为发送
void init();
void main()
{
   init();
   while(1);
}
void init()
{
  TRISC=0X9f;
  //TRISD=0X00;
  PORTC=0xff;
  TXSTA=0X24;
  RCSTA=0X90;
  SPBRG=77;
  GIE=1;
  PEIE=1;
  RCIE=1;
}
void interrupt com()
{
  if(SPEN==1){
   DI=0;
  if(RCIE&&RCIF)
  {
     DI=1;
     TXREG=RCREG;
     while(!TRMT);
  }
}
}

太难了啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

已经解决了 应该在init初始化的时候,把485那个控制端设置为输入,在需要发送的时候再置1,发送完毕后再清零

控制引脚一直作为输出没有逻辑错误呀,是中断程序有缺陷吧

谢谢,小编提供的场地。
MICROCHIP 原装正品,另有可替换单片机(无需修改PCB资料,程序可共用PIC的) 有用到的兄弟多多支持!  电话13430885511(微信同号),QQ2355910801

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top