|
請教大家,本意是只發(fā)送一次,為什么串口會(huì)不停的發(fā)送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位數(shù)據(jù),可變波特率
AUXR |= 0x01; //串口1選擇定時(shí)器2為波特率發(fā)生器
AUXR |= 0x04; //定時(shí)器時(shí)鐘1T模式
T2L = 0xE8; //設(shè)置定時(shí)初始值
T2H = 0xFF; //設(shè)置定時(shí)初始值
AUXR |= 0x10; //啟動(dòng)定時(shí)器2
TI = 0;
RI = 0;
ES = 1;
}
void Uart() interrupt 4
{
if(RI)
{
RI=0; //清楚TI傳送完成標(biāo)記
}
}
void UART_SendByte(unsigned char Byte[],length)
{
unsigned char i;
for(i=0;i<length;i++)
{
SBUF=Byte[ i]; //一次只能發(fā)送8位[ i]
while(!TI);
TI = 0;
}
}
|
|