主题 : 请问大家void Uart_SendString(char *pt)这个函数什么意思 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 14220
精华: 0
发帖: 39
金钱: 215 两
威望: 43 点
综合积分: 78 分
注册时间: 2010-02-04
最后登录: 2018-02-08
楼主  发表于: 2010-04-04 17:36

 请问大家void Uart_SendString(char *pt)这个函数什么意思

void Uart_SendString(char *pt)
{
       while(*pt)
  Uart_SendByte(*pt++);
}

while(*pt)什么意思啊,一直没搞懂



级别: 新手上路
UID: 16042
精华: 0
发帖: 47
金钱: 245 两
威望: 49 点
综合积分: 94 分
注册时间: 2010-03-13
最后登录: 2012-03-23
1楼  发表于: 2010-04-06 23:21
。。。。。。
Uart:串口 Send:发送 String:字符串,自己拼起来。
字符串最后是'o',所以到字符串终止的时候就结束循环。
比如字符串是""send"
*pt依次取出的是's','e','n','d','0'
到'0'的时候出现while(0),然后就没了。
你应该先看完谭浩强。
级别: 新手上路
UID: 14220
精华: 0
发帖: 39
金钱: 215 两
威望: 43 点
综合积分: 78 分
注册时间: 2010-02-04
最后登录: 2018-02-08
2楼  发表于: 2010-04-24 18:53
要是最后那个字符不是‘0’呢,那不是永远在哪里等待,我觉得这样解释不对
比如“jjjkkkdfoee89”

知道的具体解释下,谢谢
勺饮不器盛沧海,拳石频移磊泰山
级别: 侠客
UID: 15752
精华: 0
发帖: 71
金钱: 355 两
威望: 71 点
综合积分: 142 分
注册时间: 2010-03-09
最后登录: 2010-10-19
3楼  发表于: 2010-05-14 08:44
是在所给出的字符串的末尾自动插入'0',因此执行到字符串末尾是,会跳出while(*pt)循环
勺饮不器盛沧海,拳石频移磊泰山