一个关于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);
}
}
}
#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