标题:
C51
[打印本页]
作者:
kkk09
时间:
2023-1-23 00:44
标题:
C51
这个TH0左移8次不就变成0000 0000 了吗是我哪里没理解对吗
求大佬们解答,感谢各位大神
51hei截图_20230123004200.png
(330.33 KB, 下载次数: 45)
下载附件
2023-1-23 00:42 上传
作者:
a185980800
时间:
2023-1-23 07:01
你觉得它会不会是16位的,左移8位只是后8位变零了前面8位还在。
作者:
624353765
时间:
2023-1-23 10:37
TH0是8位的,左移8位自然是0
作者:
Hephaestus
时间:
2023-1-23 11:13
你已经声明返回值是unsigned int,那么处理返回值当然要用同样的数据类型来操作。
作者:
a185980800
时间:
2023-1-23 13:31
返回值是16位的,计算时的零时变量就是16位了。
作者:
frank_tw
时间:
2023-1-23 15:24
返回是16位,TH0 =Hi Byte TL0=Lo Byte
因为要返回16 bits ,所以將 TH0 左移8位 ,再OR(加上) TL0 返回
作者:
coody_sz
时间:
2023-1-24 11:14
为了可靠,建议 return ((u16)TH0 << 8) | TL0;
虽然返回值是unsigned int但C51可能会在处理过程中直接操作8位而出错。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1