請教大家,本意是只發送一次,為什么串口會不停的發送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;
}
}
|