|
以前寫簡單的程序時間等待都用軟件延時Delay湊合用下就完了,最近練習(xí)其他功能時想吧功能都寫在一起,用軟延時就多少有點(diǎn)抵觸,感覺浪費(fèi)單片機(jī)處理時間,于是就研究起了系統(tǒng)自帶的操作系統(tǒng)----rtx51tny,以為能很好的分配單片機(jī)運(yùn)行時間,但實(shí)際運(yùn)行過程中問題很大,最主要的問題是時間片增大的問題。
rtx51tny的設(shè)置簡單就不多說了,系統(tǒng)配置:STC8H單片機(jī)1T模式,40M,時間片設(shè)置1000,輪詢超時設(shè)置5(實(shí)際使用大于1就行,作用不大),計(jì)算時間片為:1/40M*1000=25us,實(shí)際使用單任務(wù)控制不停led取反就能得到單時間片運(yùn)行時間,使用某一個寶網(wǎng)上的30塊邏輯分析儀最后測試得40us,所以實(shí)際情況為系統(tǒng)切換時間+等待時間是 15+25=40us
隨后我就在任務(wù)1加了顯示5位數(shù)碼管任務(wù)測得單時間片最小值為:40us左右-----最小時間片基本沒改變
51hei截圖_20220314174646.png (13.03 KB, 下載次數(shù): 49)
下載附件
1
2022-3-14 17:55 上傳
51hei截圖_20220314175928.png (91.9 KB, 下載次數(shù): 56)
下載附件
2022-3-14 17:59 上傳
后來我就在任務(wù)2加了ADC取樣取平均值任務(wù)測得單時間片最小值為:42左右-----最小時間片基本也沒改變
51hei截圖_20220314174646.png (13.03 KB, 下載次數(shù): 51)
下載附件
2022-3-14 18:15 上傳
51hei截圖_20220314175928.png (91.9 KB, 下載次數(shù): 59)
下載附件
2022-3-14 18:15 上傳
最后我前面的基礎(chǔ)上加了串口1通訊任務(wù)測得最小單時間片猛增加到 483us
7.png (41.12 KB, 下載次數(shù): 53)
下載附件
2022-3-14 18:27 上傳
9.png (30.64 KB, 下載次數(shù): 62)
下載附件
2022-3-14 18:27 上傳
8.png (20.8 KB, 下載次數(shù): 67)
下載附件
2022-3-14 18:27 上傳
串口1通訊僅僅增加了一個中斷入口4,調(diào)試了好幾天,都沒找出來為什么時間片會由原來的40us----增加到--483us,是子程序的問題還是中斷的問題造成的????所以請論壇內(nèi)大師給看下什么原因。
可以預(yù)見的是針對rtx51tny,先調(diào)試好子程序再加入主程序時會產(chǎn)生設(shè)置好的時間片增加的問題,子程序越多可能時間片增大的越多,所以中間的延時就需要重新按實(shí)際情況調(diào)試后填進(jìn)去,至于是代碼增多還是中斷的造成的這個問題,目前還沒找找到原因。
|
|