|
如題,理論上T1作為波特率發(fā)生器的定時器不需要中斷服務(wù)函數(shù)。 但是如果加了允許進(jìn)入中斷(ET1=1;),又寫了中斷服務(wù)函數(shù)內(nèi)容的話,會造成串口發(fā)送亂碼嗎?
或者允許了中斷,但是不寫中斷服務(wù)函數(shù),會造成51單片機(jī)跑飛程序嗎?
void SendByte(unsigned char c)
{
SBUF = c;
while(TI==0);
TI = 0;
}
void main(void)
{
TMOD = 0x21; // 波特率2400
SCON = 0x50;
TH1 = 0xF3;
TL1 = TH1;
TR1 = 1;
EA = 1;
ET1 = 1; //就是加了這句!!!!允許T1中斷
while(1)
{
SendByte('A');
}
}
void Timer1Isr(void) interrupt 3 //T1的中斷服務(wù)函數(shù),隨便瞎寫的內(nèi)容,只是表示一下。
{
unsigned char i = 0;
i++;
}
其實(shí)也就是 定時器T1的中斷服務(wù)函數(shù)會不會影響串口產(chǎn)生的波特率或者SBUF的發(fā)送???
|
|