|
- uchar add=0;
- uchar dis[]={0xAA,addr1,0x01,0xFF};
- /*****主程序*****/
- void main()
- {
- int i;
- Uart_Init();
- while(1)
- {
- for(i=0;i<4;i++)
- {
- SBUF=dis[i];
- while(!TI); //等特?cái)?shù)據(jù)傳送
- TI=0; //清除數(shù)據(jù)傳送標(biāo)志
- } delayms(500);
- }
- }
- //從機(jī)
- void main()
- {
- int tem;
- uchar Data[4],t;
- Uart_Init();
- while(1)
- {
- //在串口助手檢測(cè)程序有沒(méi)運(yùn)行
- tem++;
- if(tem%10000==0) {
- SBUF = 0X00;
- while(!TI);//當(dāng)寫(xiě)下這句的時(shí)候,就不要在中斷函數(shù)里面在寫(xiě)TI = 0;這句了,不然進(jìn)入中斷函數(shù)將TI清零之后,程序就會(huì)一直卡在這里
- TI = 0; //在這里將TI清零
- SM2=0;
- }
- //接收數(shù)據(jù)
- for(t=0;t<4;t++)
- {
- Data[t]=SBUF;
- while(!RI);
- RI=0;
- if(SBUF==0XFF) {
- SM2=1;
- t=0;
- }
- }
- if(Data[0]==0xAA)
- {
- SBUF = 0X11;
- while(!TI);//當(dāng)寫(xiě)下這句的時(shí)候,就不要在中斷函數(shù)里面在寫(xiě)TI = 0;這句了,不然進(jìn)入中斷函數(shù)將TI清零之后,程序就會(huì)一直卡在這里
- TI = 0; //在這里將TI清零
- }
- }
復(fù)制代碼 |
|