lucky 发表于 2012-8-14 11:33:23

[求助]新人菜鸟求助485中断发送接收问题

小弟刚开始学pic,请教各位高人,仿照书上232串口的程序,写了一个485串口程序,PC机发个数给单片机,单片机再回发给PC,用串口调试助手发送后什么都接不到,调试似乎进入不了中断。用的芯片是18F2523,RA5定义为485使能。程序如下:

#include <pic18.h>
#define EN_485 RA5
unsigned char recdata;

void initial()
{
INTCON=0x00;
ADCON1=0x07;
OSCCON=0x65;
PIE1=0;
PIE2=0;
}

void sciinitial()
{
TXSTA=0x04;
RCSTA=0x80;
TRISC=TRISC|0x80;
TRISC=TRISC&0xBF;
SPBRG=0x19;
BAUDCON=0x00;
PIR1=0x00;
RCIE=1;
RCIP=0;
CREN=1;
TXEN=1;
}

void interrupt usart()
{

if(RCIF==1)
{
   recdata=RCREG;
   EN_485=1;   
   TXREG=recdata;
}
EN_485=0;
}

main()
{
initial();
sciinitial();
IPEN=1;
INTCON=INTCON|0xC0;
EN_485=0;
while(1)
{
    ;

}
}



另外,小弟不知道485使能发送和接收应放在程序的具体什么位置,请高人指点,不甚感激!

lucky 发表于 2012-8-14 11:44:25

试试下,平时是低电平,要发送前置高电平,发送完在置低电平
有位侠客这样回答的。。。
页: [1]
查看完整版本: [求助]新人菜鸟求助485中断发送接收问题