找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1821|回復(fù): 6
收起左側(cè)

C51

[復(fù)制鏈接]
ID:1059375 發(fā)表于 2023-1-23 00:44 | 顯示全部樓層 |閱讀模式
這個TH0左移8次不就變成0000 0000 了嗎是我哪里沒理解對嗎
求大佬們解答,感謝各位大神
51hei截圖_20230123004200.png
回復(fù)

使用道具 舉報

ID:857072 發(fā)表于 2023-1-23 07:01 來自觸屏版 | 顯示全部樓層
你覺得它會不會是16位的,左移8位只是后8位變零了前面8位還在。
回復(fù)

使用道具 舉報

ID:526108 發(fā)表于 2023-1-23 10:37 | 顯示全部樓層
TH0是8位的,左移8位自然是0
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2023-1-23 11:13 | 顯示全部樓層
你已經(jīng)聲明返回值是unsigned int,那么處理返回值當(dāng)然要用同樣的數(shù)據(jù)類型來操作。
回復(fù)

使用道具 舉報

ID:857072 發(fā)表于 2023-1-23 13:31 來自觸屏版 | 顯示全部樓層
返回值是16位的,計算時的零時變量就是16位了。
回復(fù)

使用道具 舉報

ID:434018 發(fā)表于 2023-1-23 15:24 | 顯示全部樓層
返回是16位,TH0 =Hi Byte TL0=Lo Byte
因為要返回16 bits ,所以將 TH0 左移8位 ,再OR(加上) TL0 返回
回復(fù)

使用道具 舉報

ID:1034262 發(fā)表于 2023-1-24 11:14 | 顯示全部樓層
為了可靠,建議 return ((u16)TH0 << 8) | TL0;
雖然返回值是unsigned int但C51可能會在處理過程中直接操作8位而出錯。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表