串口通信程序写好,但是在串口调试软件中测试,一开串口则一直在发送不能停止。怎么才能让单片机想发送数据的时候才发送?程序该怎么写?请各位高手看看我的程序给点指点,多谢啦!
#include<pic.h>
__CONFIG(0X1832);
#define uchar unsigned char
uchar recdata;
void port_init()
{
PORTC=0X00; //C口电平清0
TRISC=0x80; //RC7/RX输入,RC6/TX输出,其余口输出
}
void usart_init()
{
SPBRG=0X33; //4M晶振,1200波特率
TXSTA=0X20;
RCSTA=0X90;
RCIE=0X01;
GIE=0X01; //总中断使能
PEIE=0X01; //外部中断使能
RCREG=0; //接收缓冲寄存器清0
}
void interrupt receive_data(void)
{
if(RCIF==1)
{
recdata=RCREG;
PORTC=recdata; //C口的LED亮
}
}
void main()
{
port_init();
usart_init();
TXREG=0X01;
while(TRMT==0);
} |