- 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清零
- }
- }
复制代码 |