新手请教几个串口通信程序的问题~

2019-07-15 16:11发布

本帖最后由 elecfans跑堂 于 2015-8-27 17:15 编辑

程序计划实现: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个字节中,最后三个数据不正确,如下图
图片1.png 最后三个原字节应为0x20,0x40,0x00,

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
zjbhello
1楼-- · 2019-07-15 19:32
问题一解答:i定义为unsigned char时,占位8bit=1byte,表示范围为0~255,最大的数字是255,再加1就成了0,始终满足<256,所以会一直发送;
Maxyal
2楼-- · 2019-07-15 20:31
 精彩回答 2  元偷偷看……

一周热门 更多>