本帖最后由 秋韶 于 2017-5-7 20:18 编辑
本人想要在串口方式1下,实现下位机对上位机命令的读取和反馈。不过不知道咋回事,信息无法反馈到上位机。请大佬指点一二。
- #include <reg52.h>
- #include <stdio.h>
- #include <string.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit dula=P2^6;
- sbit wela=P2^7;
- uchar a,b[20]="0",i,j,flag1;
- void init();
- void delay(uint);
- void main()
- {
- init();
- while(1)
- {
- while(b[i]!=' ');
- delay(20);
- flag1=2;
- while(b[j]!=' ')
- {
- SBUF=b[j];
- while(ti==0);
- TI=0;
- j++;
- }
- while(1);
- }
- ;
- }
- void init()
- {
- dula=0;
- wela=0;
- TMOD=0x20;
- TH1=0xfd;
- TL1=0xfd;
- REN=1;
- SM0=0;
- SM1=1;
- //SCON=50;
- EA=1;
- ES=1;
- TR1=1;
- a=0,i=0,j=0,flag1=0;
- }
- void ser() interrupt 4
- {
- if(flag1==0)
- {
- RI=0;
- a=SBUF;
- if(a!=' ')
- {
- b[i]=a;
- i++;
- }
- else
- b[i]=' ';
- }
- }
- void delay(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
复制代码
一周热门 更多>