找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

閱讀ucosii學(xué)到的技巧

[復(fù)制鏈接]
ID:94349 發(fā)表于 2015-11-2 12:55 | 顯示全部樓層 |閱讀模式
閱讀ucosii的代碼,發(fā)現(xiàn)了一個(gè)小技巧。就是在使得任務(wù)進(jìn)入就緒狀態(tài)的時(shí)候,有:
OSRdyGrp|=OSMapTbl[prio>>3];
OSRdyTbl[prio>>3]|=OSMapTbl[prio&0x07];
這樣兩行,其實(shí)>>3就是除以8,而&0x07就是 取模運(yùn)算 mod 8 或者 % 8.
后一個(gè)技巧是我新學(xué)到的。任何取模運(yùn)算,只要是2的整數(shù)冪,都可以用這個(gè)技巧。比如,對(duì)8取模運(yùn)算,就是 位與 &0x7。
對(duì)4運(yùn)算則是,&0x3。 其實(shí)說(shuō)白了,就是192,去除19剩余2,就是對(duì)10取模,去除1剩余92就是對(duì)100取模。


回復(fù)

使用道具 舉報(bào)

ID:305599 發(fā)表于 2018-6-14 17:38 | 顯示全部樓層
看了文章后,對(duì)學(xué)習(xí)有幫助
回復(fù)

使用道具 舉報(bào)

ID:123429 發(fā)表于 2018-6-20 17:58 | 顯示全部樓層
可能是 你有一個(gè)函數(shù)可能會(huì)被主函數(shù)和一個(gè)中斷服務(wù)程序(或者調(diào)用中斷服務(wù)程序的函數(shù))同時(shí)調(diào)用,或者同時(shí)被多個(gè)中斷服務(wù)程序調(diào)用,發(fā)生重入了
回復(fù)

使用道具 舉報(bào)

ID:457297 發(fā)表于 2019-1-2 09:31 | 顯示全部樓層
這個(gè)技巧不錯(cuò),比除法運(yùn)算快呀,謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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