在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

uC/OS是個什么鬼?那它有什么用呢?

GReq_mcu168 ? 來源:玩轉單片機 ? 2020-07-01 16:52 ? 次閱讀

1. uC/OS 是個什么鬼?

在一些朋友的留言和大神的文章中多次提到了 uC/OS,相信很多朋友看到之后都是蒙B的 “這是個什么鬼?”。uC/OS (Micro Control Operation System)翻譯過來就是微控制器操作系統,最初版本是在1992年發布,現在已經發展到uC/OS III 了。

嗯,那它有什么用呢?

接觸過單片機編程的朋友一定知道 main() 函數,mian() 又叫主函數或者入口函數,顧名思義就是程序開始執行的地方(其實這是不嚴謹的,但是為了照顧小白可以這樣簡單的理解),而一般的裸機程序只有一個main(),從程序的開頭到結尾跑一次就完了,而為了讓程序能不停的跑往往會在main() 中加一個while(true) 讓其不斷的循環。uC/OS因為其處理方式理論上可以模擬無數個 "main() 函數"(任務),讓這些任務并發運行,就像在一個單片機中有多個main() 函數一樣,讓原本單線程的單片機能有多線程的效果。

那 uC/OS 是變出無限個main函數呢,答案就是時鐘節拍,時鐘節拍就是系統以固定的頻率產生中斷(時基中斷),并在中斷中處理與時間相關的事件,推動所有任務向前運行。簡單的來說就是高頻率的切換任務來實現類似多線程的效果,這個時鐘節拍是可調的,頻率越快越浪費cpu,相應的在多個任務間切換的速度也就越快。

那么什么是中斷呢?

從本質上來講,中斷是一種電信號的變化,當設備有某種事件發生時(產生電平變化),它就會產生中斷,通過總線把電信號發送給中斷控制器。如果中斷的線是激活的,中斷控制器就把電信號發送給處理器的某個特定引腳。處理器于是立即停止自己正在做的事,跳到中斷處理程序的入口點,進行中斷處理。(就好比小明現在正在看我寫的這篇文章,突然有快遞來敲門他就會先放下手機去取快遞然后回來接著看,既拿了快遞又讀了文章)如上圖所示電信號從低電平跳轉高電平的中斷稱之為上升沿中斷,反之稱之為下降沿中斷。

因為篇幅的限制以上只是簡單的介紹了一下uC/OS,當然它還有很多其它的優點,例如內存分配,任務消息隊列,等等。這些都是這個系統多年迭代累積下來的“車輪”,如果感興趣的朋友可以深入的了解一下。

uC/OS固然是好,但是真的有必要什么都用 uC/OS么?我看未必,殺雞何用宰牛刀。以下引用一位知友的留言:

“2以前沒學過操作系統,用單片機裸機寫程序。有一次做一個功能特別復雜的東西,發現中斷都快用完了,并且用中斷有些地方實現的特別勉強,冗余,復雜。當時根本就不知道有多任務,也以那時的知識根本想不到如何優化。如果當時學過操作系統,用過ucos,這個問題就很好解決了。不信,你看能不能用裸機實現一個簡單的平板電腦

6以后想去大公司,做平板,做手機,不會嵌入式linux估計不行吧,這個依舊包括了上述所有知識。”(這位朋友表達的意思我懂,在此只是引用這一段話,只是引用!)

(此段純吐槽)可能是現在中國手機行業很賺錢。是個大一點的公司就要做平板,做手機,大公司都需要這樣的人才,一窩蜂的往里鉆。雖然arm理論上也算是單片機的一種,但是我更喜歡將其歸入微處理器的行列,做手機做平板要是我肯定不會選stm32上uC/OS來做。如果是為了好找工作,為了做手機那還是學嵌入式linux比較靠譜。我是學自動化的,在我的感覺里單片機(stm32,avr,飛思卡爾,51等等)這類是屬于微控器,最適合的就是用來做控制的,不是為了做手機而生的。

和做人一樣首先要清楚自己的定位,清楚自己能干什么,不能干什么。汽車芯片,3d打印機,數控機床,手環,液晶顯示器,四軸,錄像機,洗衣機,玩具,飛機儀表板等等等等,都有單片機的用武之地,我給它的定位就是簡單重復高效的控制器。有朋友留言說 “一句話想賺錢不要學這個。” 我只能引用這樣一句話 “中國不是實體經濟不行了,而是你的實體經濟不行了。”

2. 那你解釋一下運放虛短的原理 簡單講就好@obovgood

運算放大器 MIT的 Anant Agarwal 教授講的很好建議你去看看(其實網易公開課上有很多資源,都沒人看)

什么是運算放大器?

運算放大器是一種帶有特殊耦合電路及反饋的放大器,其輸出信號可以是輸入信號加、減或微分、積分等數學運算的結果。(簡單的理解就是通過這個原件能實現輸入信號的數學運算)

正好我用一個實際的例子來講,下圖是我之前用來驅動激光的一個原理圖,看似很復雜不用怕,一步一步來。首先要知道這個電路是干什么用的,我上學的時候就是老師自己陶醉的在臺上講,也不告訴你學了知識能干啥,最后學的都是一頭霧水,一臉茫然(又吐槽了)。為了保持激光穩定的工作,通過激光二極管電流必須是恒定的,這個時候就需要橫流驅動。

LASER1+和LASER-之間接的就是要求橫流1A工作的激光二極管。如果電路看起來復雜圖中所有電容均可以理解為濾波作用。為了理解虛短,虛段我們將其都去掉,是不是看起來簡單了一些

LASER-下方是一個mos管,簡單的理解成一個特殊開關,它的1端口可以控制2->3的是否導通,并分去多余的電壓。R8是0.03歐姆的采樣電阻,為了實現1A橫流R8a上方電壓要為0.03v(I=U/R),那么運放端口6為0.03v。ok 這里我們先學習一下

虛短(虛短指在分析運算放大器處于線性狀態時,可把兩輸入端視為等電位【這里2,3,5,6都是輸入端】,就好像兩個輸入端短接在一起,但事實上并沒有短接,稱為“虛短”。由于運放的電壓放大倍數很大,而運放的輸出電壓是有限的。因此運放的差模輸入電壓不足1 mV,兩輸入端近似等電位,相當于 “短路”。)

虛斷(由于運放的差模輸入電阻很大。因此流入運放輸入端的電流往往不足1uA,遠小于輸入端外電路的電流。故通常可把運放的兩輸入端視為開路。“虛斷”是指在分析運放處于線性狀態時,可以把兩輸入端視為等效開路,這一特性 稱為虛假開路,簡稱虛斷。)

因為虛斷(5,6)為開路,沒有電流由6經過R8a到GND。

因為虛短所以(5,6)端口電壓相等均為0.03v,由于R7a,R7b串聯可得到端口1的電壓

(V1-V5)/R7a=V5/R7b --------> V1=(V5/R7b)*R7a+V5=0.33v

因為虛短所以(1,2,3)端口電壓相等,所以只要用單片機控制3端口的電壓為0.33v,激光器就能穩定在1A工作。

自己焊的原理板如圖,中間的小長方塊就是運放。

控制激光穩定輸出!

注意以上所有推導能成立均建立在運放是線性工作的狀態,至于運放什么時候是線性,如何在非線性條件下讓運放線性工作,Anant Agarwal 教授都講的很清楚了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7572

    瀏覽量

    151648
  • 函數
    +關注

    關注

    3

    文章

    4338

    瀏覽量

    62767

原文標題:單片機有什么用?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FRED應用:二階像分析

    簡介 FRED能夠提供用戶有關通過光機系統任意像和散射路徑的詳細情況。我們簡單地設置光學和機械的物理屬性 (涂層、材料、散射模型等),設置一合適的光源,并且讓FRED記錄下在光線追跡時系統所有
    發表于 01-10 08:55

    24位或者說高分辨率的AD到底有什么用

    的AD,如24位的AD,其分辨率達到很低的uV級別,我們如何考究其精度?而且AD的精度受到諸多因素的影響,其中參考源的穩定度和供電電源的穩定度對精度影響很大,參考源最低0.05%的精度,那么24位的分辨率所可以達到的精度卻是要大打折扣的,請問在這樣的情況下,24位或者說高分辨率的AD到底有什么用
    發表于 01-07 06:49

    請問ADS6422這個差分輸入的采樣保持電路中的Ron有什么用

    請問ADS6422這個差分輸入的采樣保持電路中的Ron有什么用?采樣頻率對采樣保持得到的電壓及其精度有什么影響
    發表于 11-25 07:57

    優化MSP430上用于uC/OS-II的內存

    電子發燒友網站提供《優化MSP430上用于uC/OS-II的內存.pdf》資料免費下載
    發表于 10-18 10:16 ?0次下載
    優化MSP430上用于<b class='flag-5'>uC</b>/<b class='flag-5'>OS</b>-II的內存

    BOOSTXL_BUCKCONV評估板上的高邊電流采樣電路,請問C10-C14都是做什么用

    這是ti的BOOSTXL_BUCKCONV評估板上的高邊電流采樣電路,請問C10-C14都是做什么用?是用來補償相位嗎?如果不是的話是做什么用?這些電容值怎么計算
    發表于 09-06 06:29

    請問AT+MLWULDATAEX命令有什么用

    AT+MLWULDATAEX 命令有什么用
    發表于 06-04 06:16

    AG32 下使用 uC/OS 的參考

    example 下要把 uC/OS 加進來。步驟: 在 platformio.ini 中增加對 uC/OS 的引用: 注意,多個庫之間
    發表于 05-29 09:45

    STM32F105可以移植UC/OS-III嗎?對于中斷嵌套怎么處理?

    最近剛移植了UC/OS-III到STM32F105上面,只是單純的點亮LED燈還有串口通信,都是正常的,若是使用外部中斷,且不停的使用,讓其進行嵌套之后,程序就會跑飛,覺得我哪里是移植錯了,但很難
    發表于 05-06 06:48

    Linux是做什么用的?

    Linux是做什么用的?Linux是一種開源的操作系統,廣泛用于服務器、嵌入式設備和個人電腦等領域。它具有以下特點和用途: Linux是做什么用的? 1、服務器操作系統:Linux在服務器領域非常
    發表于 04-28 15:40

    氧化硅薄膜具體有什么用

    氧化硅薄膜整個半導體制造過程是十分常見且不可或缺的,那么它具體有什么用
    的頭像 發表于 04-22 09:52 ?773次閱讀

    治理焦油氨水分離槽滲漏為什么用SD2240材料

    電子發燒友網站提供《治理焦油氨水分離槽滲漏為什么用SD2240材料.docx》資料免費下載
    發表于 03-11 16:03 ?0次下載

    MFD在光纖通信中有什么用

    在光纖通信中,模場直徑(MFD,Mode Field Diameter)是一非常重要的參數。那么,MFD究竟是什么?簡單來說,MFD是衡量光纖中光束橫截面寬度的一指標,它描述了光功率在光纖端面上的分布情況。
    發表于 02-25 11:14 ?5473次閱讀
    MFD在光纖通信中有<b class='flag-5'>什么用</b><b class='flag-5'>呢</b>?

    法拉電容是干什么用的?

    法拉電容是干什么用的? 法拉電容是一種用于儲存和釋放電荷的電子元件。它是電容器的一種,與傳統的微型電容器相比,法拉電容能夠儲存更多的電能,并且能夠更快速地釋放電能。它的容量單位是法拉(F)。在本文
    的頭像 發表于 02-02 10:51 ?3702次閱讀

    填充膠是做什么用的?

    填充膠是做什么用的?填充膠是一種廣泛應用于電子制造和其他工業領域的材料,它在提高產品性能、增強結構穩定性以及保護核心組件方面發揮著至關重要的作用。以下是關于填充膠的主要用途和它在不同應用中
    的頭像 發表于 01-17 14:52 ?1056次閱讀
    填充膠是做<b class='flag-5'>什么用</b>的?

    貼片加工廠生產前對PCB進行烘烤有什么用

    在貼片加工廠待過的朋友們都知道,一般PCB在貼片之前都會放到烤箱進行烘烤(特殊板材除外),這樣做有什么用?接下來小編就為大家一一解析。
    的頭像 發表于 01-12 11:10 ?910次閱讀
    主站蜘蛛池模板: 四虎在线永久视频观看| 色综合天天射| 亚洲一级毛片中文字幕| ssswww日本免费网站片| 32pao强力打造免费高速高清| 六月丁香婷婷网| 嫩草影院入口一二三免费| 欧美黄色三级视频| 亚洲大成色www永久网址| 亚洲国内精品| 色五月婷婷成人网| 日本s色大片在线观看| 免费观看四虎精品国产永久| 日本人色道| 美女网站色视频| 国产成人精品免费视频大全可播放的 | 狠狠做深爱婷婷综合一区| 国产免费高清福利拍拍拍| 欧美日韩亚洲国产一区二区综合| 你懂的网站在线| 国产精品亚洲一区二区三区在线播放 | 69日本xxⅹxxxxx18| 欧洲不卡一卡2卡三卡4卡网站| 69xxxx女人| 国产免费久久| 激情亚洲婷婷| 婷婷色在线视频| 亚洲婷婷综合色高清在线| 婷婷99视频精品全部在线观看| 日本色午夜| 国产精品美女视频| 天天干天天射天天插| 操视频网站| 乱肉情欲杂乱小说| 色多多在线免费观看| 国产片一区二区三区| 日韩免费一级片| 亚洲情欲网| 国产免费久久精品99久久| 手机毛片| 欧美在线观看一区二区三|