No.18137 作者:smartbean 邮件:zzp1108@21cn.com ID:90428 登陆:1次 文章数:1篇 最后登陆IP: 最后登陆:2007/10/31 21:08:17 注册:2007/10/31 21:08:17 财富:100 发帖时间:2008/1/28 22:25:57 发贴者IP:58.20.65.186 标题:smartbean:请教串口通信的延时问题 摘要:No.18137请教串口通信的延时问题 各位大虾,请教大家一个问题。我用单片机的串口来接收和发送数据,并且都是用中断的方式将其放在两个不同缓冲区中。并且,我在串口发 送出命令之后,延时一段时间再去读接收缓冲区中的数据。这个延时使用的是一个循环。我发现当我延时时间长一点的时候,发送的数据的速 度也变的很慢。我想发送数据的速度应该是只和时钟频率相关的,程序的延时对发送速度是没有影响的。 请教大家一下,上面我描述的问题是怎么回事? 下面是我的一些代码 void uart0int(void)interrupt SIO_VECTOR using 2{ //接收数据中断 if(RI == 1){ RI = 0; from_mc35_buf[from_mc35_buf_ptr++] = SBUF; } //发送数据中断 if(TI == 1){ TI = 0; if((to_mc35_buf_out != to_mc35_buf_in)){ SBUF = to_mc35_buf[to_mc35_buf_out]; // to_mc35_buf_out = (to_mc35_buf_out + 1) % MAX_CHARS_IN_SMS; if(to_mc35_buf_out == to_mc35_buf_in ......
>>返回讨论的主题
|