|
大好的一個暑假又過去,接觸51單片機也有兩年多了,從單初的入門到熟悉,再有一個年頭就面臨就業問題了,最后發現這幾年51單片機雖然經典,但是也到了差不多該退出歷史的舞臺了,盡管8系列的芯片性能還不錯,但是較STM32系列的F3就能把它打的落花流水,當然這里也不是貶低STC單片機,只是說物盡其能嘛,什么樣的需求,選擇什么樣的芯片,但是就市場而言STM32無疑是占據了一定優勢了,比如速度可以高達百兆,可以搭載諸多RTOS(UCOS/free RTOS等),還可以移植emwin等諸多GUI,使得人機交互界面更上一層樓,DMA、FMSC、DIO硬協議的集成,結合庫的開發,功能強大的同時,開發周期也更短,性價比超高。 說了這么多,也就是我也進入那股大潮流中去了,為此還是有許多不甘心的,比如在STC單片機上的應用還比較少,為此在轉入學習ucos之前,打算在學習了操作系統的基礎上,在讓手里的51發揮些余熱,為STM32開開路。自從編程從結構化到攜帶操作系統,特別是復雜的多任務處理,讓單片機的并行與并發在多個任務之間處理得淋漓盡致,用過之后就在也回不去了。于是就尋思著 在這個51單片機內核得STC8上帶個操作系統跑破玩玩,于是就找到了2004年周立功公司開發的,陳明計工程師編寫的開源small RTOS研究使用一番,作為在最后謝幕的結果。他開發的這個操作系統還是有很多優點的,不如說最直接的就是占用SRAM少,堆棧指針比比較精簡,支持多達255層中斷嵌套,可裁剪,用戶自定義配置豐富,支持消息隊列、信號量、郵箱等諸多功能。開始使用的時候因為趕時間嘛,就用了它開發了一套簡易的系統,其實也不算完整的系統,就是把外部的電路模塊集成到一塊,加了個操作系統整合了,后面加到NRF24L01和1.8寸TFT液晶驅動時才發現,喔呦,編譯出錯了,報錯信息是“DATA”,內存溢出了,原來該操作系統僅僅支持編譯的small模式(DATA),對于XDATA和PDATA模式操作系統是無法引導的,這個就麻煩了呀,所有的變量遠離data、idata,希望變量都加上xdata關鍵字,最后發現還是不行,這樣有些值是讀不出來的,甚至編譯器報錯,各種奇葩的bug,原本說支持最多16個任務的,現在就僅僅寫了7-8個就已經無法使用了,我猜測,這個也有可能是當年它由轟動一時,到后來的無人問津的原因之一吧。還有要吐槽的是其實對于消息對列和郵箱我個人感覺都是多余的,很多東西一個全局變量就解決了,使用了消息隊列反倒占用內存不說,變量定義的更多了,操作系統切換任務的堆棧寄存器都不夠用了,還有信號量,都變成使用中斷開關了,參考了它的例子,消息隊列應用在了鍵盤發送,和一個值接收進程,好像也沒有多大用處,裝個逼倒是還不錯。最后只能總結得出看樣子51還是不適合搭載操作系統了,重要的函數重載都不可以。后來就去使用了RTX-51-tiny去了,一個頭文件搞定,對于超出127字節的small區,可以改用XDATA,還可以刪除任務,還不錯。好了,最后就來看下效果吧,手都酸了,歡迎批評指正。
|
-
P00902-200511(1).jpg
(2.84 MB, 下載次數: 124)
下載附件
2020-9-2 20:14 上傳
1.8寸測溫度
-
P00902-200456(1).jpg
(1.9 MB, 下載次數: 141)
下載附件
2020-9-2 20:14 上傳
1.8寸采集光敏電阻
-
P00902-200323.jpg
(3.5 MB, 下載次數: 131)
下載附件
2020-9-2 20:14 上傳
0.96寸顯示圖片
-
P00902-200314.jpg
(4.31 MB, 下載次數: 127)
下載附件
2020-9-2 20:14 上傳
0.96寸顯示溫濕度
-
P00902-200308.jpg
(4.53 MB, 下載次數: 132)
下載附件
2020-9-2 20:13 上傳
0.96寸顯示ADC
-
P00902-200259.jpg
(4.41 MB, 下載次數: 135)
下載附件
2020-9-2 20:13 上傳
顯示界面
-
P00902-200249.jpg
(4.19 MB, 下載次數: 149)
下載附件
2020-9-2 20:13 上傳
0.96寸顯示時間
-
P00902-200141.jpg
(4.12 MB, 下載次數: 134)
下載附件
2020-9-2 20:12 上傳
關機狀態
-
-
39 TFT_1.8寸全彩.rar
2020-9-2 20:20 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
240.43 KB, 下載次數: 69, 下載積分: 黑幣 -5
RTX-51-Tiny
-
-
37 small_RTOS.rar
2020-9-2 20:20 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
282.25 KB, 下載次數: 99, 下載積分: 黑幣 -5
small_RTOS
評分
-
查看全部評分
|