串口发数据的一个问题,发数据用了break怎么还是跳不出来?
[复制链接]
/******************************************************************************* * 标题: 串口通信 * * 作者:麒麟刀 * 功能:发送两个数,发完结束。 ********************************************************************************/ #include<reg52.h> unsigned int i=1000,j,a,n; void main() {
TMOD=0x20;//设置定时器1为工作方式2 TH1=0xf4; //设置波特率为2400 TL1=0xf4; TR1=1;//启动定时器1
SM0=0;//串口工作方式为方式1 SM1=1;
while(1) { while(i--); //延时 SBUF=0x55; while(!TI); TI=0; //清除发送中断标志 for(j=1000;j>0;j--); //延时 SBUF=0x56; while(!TI); TI=0; //清除发送中断标志 for(j=1000;j>0;j--); //延时 break; //跳出循环语句,但是没起到作用,为什么??????? }
}
出现的问题:我本意是让它发两个数,发完结束,就在最后用了一个break语句,但是实际上它是不停的在发我设定的两个数0x55和0x56,为什么用了break语句程序还没跳出循环呢?
[ 本帖最后由 麒麟刀 于 2011-5-20 23:52 编辑 ]
|