[求助]新人菜鸟求助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使能发送和接收应放在程序的具体什么位置,请高人指点,不甚感激!
试试下,平时是低电平,要发送前置高电平,发送完在置低电平
有位侠客这样回答的。。。
页:
[1]