打印

串口通信两个在我看来相同效果的代码,仿真却大不一样

[复制链接]
438|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
畅想天子|  楼主 | 2020-4-9 22:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口发送字符串程序
void send_byte(uchar i)
{
   SBUF=i;
   while(!TI);
   TI=0;
}
/***
void send_string(uchar *num)//用这样的程序 打开串口助手接收区是空的
{
        send_byte(*num);
        num++;
        while(*num=='\0');
       
}  ****/
采用下面这段程序运行正常
void send_string(uchar *num)  //运行正常
{
   while(*num!='\0')
{        send_byte(*num);
        num++; }       
}
不知道什么原因,在我看来这两段代码,工作效果应该是一样的,但运行结果却大不一样。请哪位师傅指点一下,谢谢

使用特权

评论回复

相关帖子

沙发
dalarang| | 2020-4-9 23:03 | 只看该作者
谁告诉你效果一样的?
你仔细看下第一个while的用法,这样能用吗?

使用特权

评论回复
板凳
畅想天子|  楼主 | 2020-4-10 08:26 | 只看该作者
dalarang 发表于 2020-4-9 23:03
谁告诉你效果一样的?
你仔细看下第一个while的用法,这样能用吗?

第一个while只是一个等待,没有做循环

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

331

帖子

2

粉丝