<sub id="1djzl"><dfn id="1djzl"><ins id="1djzl"></ins></dfn></sub>

    <sub id="1djzl"><delect id="1djzl"></delect></sub>

    <address id="1djzl"></address>
    <address id="1djzl"><dfn id="1djzl"></dfn></address><address id="1djzl"></address><form id="1djzl"></form>

    <address id="1djzl"><dfn id="1djzl"></dfn></address>
    <address id="1djzl"><listing id="1djzl"></listing></address>
    <thead id="1djzl"><var id="1djzl"><mark id="1djzl"></mark></var></thead>

        <form id="1djzl"><listing id="1djzl"></listing></form>
        <address id="1djzl"><var id="1djzl"><output id="1djzl"></output></var></address>

          <sub id="1djzl"></sub>

            <address id="1djzl"><var id="1djzl"></var></address>

              <sub id="1djzl"><dfn id="1djzl"></dfn></sub><sub id="1djzl"><var id="1djzl"><ins id="1djzl"></ins></var></sub>

                  <sub id="1djzl"><var id="1djzl"><output id="1djzl"></output></var></sub>

                    讓菜鳥秒變stm32高手的STM32CubeMX

                    首頁    學習交流    嵌入式    讓菜鳥秒變stm32高手的STM32CubeMX

                     菜鳥到高手,顯得有些霸氣哈,不過的確如此,官方帶給我們一個比較實用的stm32的工具。這個工具就是STM32CubeMX,昨天玩freeRTOS的時候就提到過。說到freeRTOS,這里就多說兩句。全局變量,在任務間相互訪問的時候也是需要臨界保護的,不然可能會出現奇怪的問題。不過我們可以關掉時間片調度,任務間可以訪問全局變量而不用加保護(不等于菜鳥可以隨意代碼)。關閉了時間片調度,只有發生vTaskDelay的時候才會上下文切換。只要代碼合理訪問全局變量可以不加保護的。因此代碼也不是可以任意書寫的,關于freeRTOS的問題,多看看源碼,一切都會有答案。源碼較少,這里就不過多介紹。關閉時間片不是網上說的configUSE_TIME_SLICING這個宏定義,老鳥發現這個宏壓根沒用哈,嘿嘿。閱讀源碼可以找到相關宏配置。不過不建議關閉,時間片調度也可以讓一個任務在執行一定時間后切換到其他就緒任務去執行。如果有freeRTOS相關問題,可以留言給我。廢話說多了點哈,繼續我們的STM32CubeMX。下面我們來講講這個工具的作用,講完后,可以自己下載一個試試,挺簡單不多介紹。

                         到官網下載STM32CubeMX,并安裝。

                         1:芯片選型

                           打開STM32CubeMX,我們點擊new project,我們就可以進行芯片選型,如果你下載了打開了這個工具,是不是很驚訝,stm32的所有產品型號都在里面,而且左下提供了資源勾選,比如你要以太網支持,勾選以太網選項,所有的支持以太網的stm32芯片才會被顯示,旁邊還有個max的欄目指示了芯片最多支持該功能的個數。空白的一般默認只有一個。下圖是我勾選以太網的截圖。

                         

                    上圖不僅提供了芯片,還提供了價格,是否在售,封裝,存儲,頻率等一些列信息。

                    除了cpu資源可以選型外,上面還提供了腳多少,存儲大小等非常靈活的選型方式。

                    我們選擇其中一個的單片機后。右上部分給我們提供了完美的支持。

                    第一個選項提供了改cpu

                    的特性,我們可以大概的了解選中的cpu資源。

                     1

                    第二個選項提供該cpu框圖,截圖圖片太大,這里就不截圖了。

                    第三個選項提供了cpu文檔,這個文檔非常多也非常全面,基本不用在網上東找西找了,主要給硬件工程師用。

                    第四個選項提供了cpu的相關設計資源,軟件編程文檔,給軟件工程師用,非常全面,包括網上很少用到的文檔資料,比如系統移植相關的底層資料(堆棧,指令,匯編)。

                    第五個選項提供了芯片購買途徑,這個每個人自己選擇吧。

                    第六個選項開始工程,芯片選好了,就可以開始工程。

                    2:設定芯片。

                    芯片選好后,可以開始設定芯片。這就是軟件工程師的好幫手呀。比如我要以太網功能,勾選上以太網即可,他就會自動分配出芯片對應的以太網接口。如下圖:

                    2

                     

                    上面我選了標準的MII接口。很多人可能就不理解,你勾了個以太網,咋報錯了。老鳥告訴你為啥變紅了,stm32有個復雜的功能就是io口復用,勾選mii后分配的io口和spi2以及iis口重合了,所以這個工具非常智能的提示了出來,非常神奇吧。告訴你他們不能使用了。還有些變黃了,說明他們可以選擇性使用,真是太方便了,省去了查資料慢慢找io的痛苦。比如我們還要給它個外部時鐘。我們勾選時鐘即可,響應的時鐘腳就會分配出來。

                    1

                    如果要將某個腳設置成輸入輸出那就更簡單了,鼠標點選對應的io口選擇對應功能即可,比如我單擊PA6,它的所有功能可以輕松選擇:

                    1

                    軟件使用比較簡單,不過多解釋,一看就明白,設置完芯片功能后,我們就設定系統各項功能時鐘。

                    選擇時鐘設置頁面(clock configuration)時鐘輕松設定,如下圖,簡單明了,不過多解釋了:

                    1

                    時鐘配置完成后,可以切換到configuration選項對功能進一步設定,里面參數都是常用的功能,設置較為簡單。就不多舉例了,比如網絡功能里面設置mac地址等。1

                     

                           3:生產初始化代碼

                            經過上面的圖形化設定,我們可以直接生產初始化代碼。省去我們查閱資料慢慢配置的的環節,時間更多的利用在應用層設計。點擊project下面的生成代碼選項。輸入工程名(根據你項目需要起名),這里我就隨便輸入一個名字。設定好相關參數。點擊ok即可。順便說下,這個工具是配帶教程的,我這里只是告訴大家有這樣個工具可以加速開發,具體設置參考官方教程。

                    生成后打開文件夾內容如下:

                    1

                    上圖的inc 和src文件夾里面是生成的主要代碼,其他幾個文件夾里面的東西,大家可以根據自己需要選擇。src文件夾文件如下:

                    1

                    打開熟悉的main.c,可以看到如下內容:

                    1

                    初始化已經完成,直接寫自己的功能即可了,然后就是加入到工程里面編輯,是不是非常簡單。熟悉的話10來分鐘一個工程構架就出來了。這樣一來,stm32就變成最簡單的單片機了,有木有,這個是基于庫函數的,io操作直接可以查看庫函數手冊完成。這個工具主要是加速底層開發。輕松弄出自己的應用程序。對于新入手stm32來說,用這個庫函數,讓開發變得簡單。減少定時器,can,ad,line等外圍配置花去的時間,圖像化配置,秒變高手。最主要的是功能直觀可見,編輯性好,可導入工程編輯。修改配置也簡單

                     


                    2018年8月14日 21:12
                    ?瀏覽量:0
                    ?收藏
                    国产偷拍欧洲日韩亚洲 - 视频 - 在线观看 - 影视资讯 - 新赏网