- 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); //等特數據傳送
- TI=0; //清除數據傳送標志
- } delayms(500);
- }
- }
- //從機
- void main()
- {
- int tem;
- uchar Data[4],t;
- Uart_Init();
- while(1)
- {
- //在串口助手檢測程序有沒運行
- tem++;
- if(tem%10000==0) {
- SBUF = 0X00;
- while(!TI);//當寫下這句的時候,就不要在中斷函數里面在寫TI = 0;這句了,不然進入中斷函數將TI清零之后,程序就會一直卡在這里
- TI = 0; //在這里將TI清零
- SM2=0;
- }
- //接收數據
- 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);//當寫下這句的時候,就不要在中斷函數里面在寫TI = 0;這句了,不然進入中斷函數將TI清零之后,程序就會一直卡在這里
- TI = 0; //在這里將TI清零
- }
- }
復制代碼 |