微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新手请教几个串口通信程序的问题~

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

时间: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个字节中,最后三个数据不正确,如下图

最后三个原字节应为0x20,0x40,0x00,

问题一解答:i定义为unsigned char时,占位8bit=1byte,表示范围为0~255,最大的数字是255,再加1就成了0,始终满足<256,所以会一直发送;

明白,非常感谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top