请教大家,本意是只发送一次,为什么串口会不停的发送ca,c5呢。
unsigned char profix[2]={0xCA,0xC5};
void main(){
UartInit();
EA=1;
// length = sizeof(profix);
UART_SendByte(profix,2);while(1);
}
void UartInit() //115200bps@11.0592MHz
{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x01; //串口1选择定时器2为波特率发生器
AUXR |= 0x04; //定时器时钟1T模式
T2L = 0xE8; //设置定时初始值
T2H = 0xFF; //设置定时初始值
AUXR |= 0x10; //启动定时器2
TI = 0;
RI = 0;
ES = 1;
}
void Uart() interrupt 4
{
if(RI)
{
RI=0; //清楚TI传送完成标记
}
}
void UART_SendByte(unsigned char Byte[],length)
{
unsigned char i;
for(i=0;i<length;i++)
{
SBUF=Byte[ i]; //一次只能发送8位[ i]
while(!TI);
TI = 0;
}
}
|