新手请教几个串口通信程序的问题~
时间:10-02
整理:3721RD
点击:
程序计划实现:51单片机(用的89c52)通过串口发送一个256个字节的数组到PC串口助手显示
问题一:当for循环的i定义为unsigned char 时,发送整个数组的256个字节会一直不停的循环发送,而改为unsigned int时发送完256个就停下来了。发送程序如下
for(i=0;i<256;i++)
{
ES=0;
SBUF=temp;
while(!TI);
TI=0;
ES=1;
}
问题二:发送的数组的256个字节中,最后三个数据不正确,如下图
![](../imgqa/ele/mcu/mcu-3721rd.com-34204v3xxft2qym5.png)
问题一解答:i定义为unsigned char时,占位8bit=1byte,表示范围为0~255,最大的数字是255,再加1就成了0,始终满足<256,所以会一直发送;
明白,非常感谢!