找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 15262|回復(fù): 19
打印 上一主題 下一主題
收起左側(cè)

基于stm32+ucos+ucgui的綜合例子 強烈推薦

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:140725 發(fā)表于 2016-10-11 17:53 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


所有資料打包下載:
基于stm32 ucos ucgui的綜合例子.rar (15.05 MB, 下載次數(shù): 384)


/*
*********************************************************************************************************
*
*        例程名稱      : uC/OS-II_創(chuàng)建任務(wù)&郵箱例程
*        uC/OS-II 版本 :V2.86
*        ST固件庫版本  :V3.4.0
*        例程版本      : V1.0
*        作    者      : armfly
*        開發(fā)環(huán)境      : KEIL的uVision V3.70、uVision V4.10、IAR的EWARM V5.30
*
*********************************************************************************************************
*/

【1】例程介紹
        本例程提供如下功能:
        (1) 提供一個基于u/COS-II操作系統(tǒng)的應(yīng)用程序框架
        (2) 演示如何創(chuàng)建多個任務(wù)
        (3) 演示如何使用郵箱進行兩個任務(wù)之間的通信
       
        本程序共創(chuàng)建了6個任務(wù):
        (1) u/COS-II Idle任務(wù),這是由操作系統(tǒng)創(chuàng)建的空閑任務(wù),優(yōu)先級最低

        (2) u/COS-II Stat任務(wù),這是由操作系統(tǒng)創(chuàng)建的統(tǒng)計任務(wù),統(tǒng)計CPU運行時間、CPU占用率等

        (3) u/COS-II Tmr任務(wù),這是由操作系統(tǒng)創(chuàng)建的定時器任務(wù),為應(yīng)用程序提供軟件定時器,未用

        (4) AppTaskStart任務(wù),這是由用戶創(chuàng)建的啟動任務(wù),完成如下工作:
                (a) 初始化BSP
                (b) 創(chuàng)建1個郵箱AppUserIFMbox
                (c) 創(chuàng)建2個任務(wù),1個是用戶界面任務(wù)AppTaskUserIF,1個是按鍵檢測任務(wù)AppTaskKbd
                (d) 之后控制LED1指示燈按照100ms的周期閃爍                       

        (5) AppTaskKbd任務(wù),這是由AppTaskStart創(chuàng)建的按鍵檢測任務(wù)
                        按鍵檢測任務(wù)AppTaskKbd實時檢測USER鍵和TAMPER鍵的狀態(tài),當(dāng)有鍵按下時,則向郵箱AppUserIFMbox
                發(fā)送一條消息,消息內(nèi)容為按鍵碼變量的指針。

        (6) AppTaskUserIF任務(wù),這是由AppTaskStart創(chuàng)建的用戶界面任務(wù)                       
                        戶界面任務(wù)AppTaskUserIF等待郵箱中的消息,如果USER鍵按下的消息則打印u/COS-II系統(tǒng)信息,如果
                收到TAMPER鍵按下則打印所有的任務(wù)名稱和任務(wù)優(yōu)先級;如果沒有收到任何信息則打印一個旋轉(zhuǎn)的字符和
                CPU運行時間(單位為1個滴答)。
       
【2】例程文件夾說明
├─Libraries :  存放第3方提供的庫或其源代碼,這些代碼一般是成熟的并經(jīng)過驗證的代碼。
│  ├─CMSIS  :  CMSIS中間件源代碼(目的是提供統(tǒng)一的調(diào)試接口),這是ST官方提供的固件庫的一部分。
│  ├─STM32F10x_StdPeriph_Driver : STM32F10x系列MCU的固件庫源代碼,這是ST官方提供的固件庫的核心代碼。
│  └─uCOS-II : u/COS-II操作系統(tǒng)源代碼,這是Micrium公司開發(fā)的多任務(wù)操作系統(tǒng)。

├─User      :  這里存放用戶自己編寫的源代碼
│  ├─app    :  存放應(yīng)用程序源代碼
│  └─bsp    :  存放底層驅(qū)動程序源代碼,也就是板級支持包

└─project   :  這里存放各類開發(fā)工具的工程文件
   ├─EWARMv5      : IAR公司EWARM工程文件
   ├─MDK-ARM(uV3) :KEIL的MDK工程文件,uVision3版本。uV3不能打開uV4版本的工程。
   ├─MDK-ARM(uV4) : KEIL的MDK工程文件,uVision4版本。uV4可以打開uV3版本的工程。
   └─SourceInsight :SourceInsight工程文件,這是一款源代碼編輯和瀏覽工具。

【3】工程中源代碼分組說明
└─Flash               : Target名稱:Flash、CpuRAM 或 ExtSRAM
   ├─APP              : 用戶自己編寫的應(yīng)用程序
   ├─BSP              : 用戶自己編寫的底層驅(qū)動程序
   ├─RVMDK            : 和IDE開發(fā)工具相關(guān)的啟動代碼,一般是匯編源代碼
   ├─StdPeriph_Driver : STM32F10x系列MCU的固件庫源代碼
   ├─CMSIS            : CMSIS中間件源代碼
   ├─uCOS-II/Source   : u/COS-II操作系統(tǒng)源代碼
   ├─uCOS-II/Port     : u/COS-II操作系統(tǒng)內(nèi)核接口層源代碼
   ├─uCOS-II-CPU      : u/COS-II操作系統(tǒng)CPU接口層源代碼
   ├─Scatter          : KEIL鏈接器用到的鏈接配置文件
   └─Doc              : 存放一些文檔

【4】工程中Target說明
        Flash   : 目標(biāo)代碼定位在CPU內(nèi)部Flash。ROM地址: 0x08000000 RAM地址: 0x20000000
        CpuRAM  : 目標(biāo)代碼定位在CPU內(nèi)部RAM。  ROM地址: 0x20000000 RAM地址: 0x20008000
        ExtSRAM : 目標(biāo)代碼定位在外部SRAM。    ROM地址: 0x68000000 RAM地址: 0x20000200 (前面0x200空間存放
                        中斷向量表)

【5】資源占用情況
        【安富萊STM32F103ZE-EK開發(fā)板V2和V3】
        - CPU時鐘:72MHz
        - CPU的GPIO:
                a) PF6連接了LED1指示燈
                b) PG8連接了USER鍵,低電平表示按下
                c) PC13連接了TAMPER鍵,低電平表示按下
        - CPU的USART1:
                a) PA9用于USART1的TX,連接到板子上的RS232芯片(SP3232)
                b) PA10用于USART1的RX,連接到板子上的RS232芯片(SP3232)
                c) 串口為2線模式,無硬件流控,即無CTS和RTS口線
                d) 波特率為115200bps
                e) 8個數(shù)據(jù)位、1個起始位、1個停止位、無校驗位、bit0先傳輸
                f) 軟件查詢方式,未用中斷
        - CPU的中斷
                a) PendSV Handler 用于u/COS-II內(nèi)核,直接調(diào)用OSPendSV()函數(shù)
                b) SysTick_Handler 用于u/COS-II滴答,調(diào)用了Tmr_TickISR_Handler()函數(shù)

        【安富萊STM32F103VE-EK開發(fā)板】
        - CPU時鐘:72MHz
        - CPU的GPIO:
                a) PB15連接了LED1指示燈,輸出低電平點亮LED
                b) PE1連接了USER鍵,低電平表示按下
                c) PC13連接了TAMPER鍵,低電平表示按下
        - CPU的USART1:
                a) PA9用于USART1的TX,連接到板子上的RS232芯片(SP3232)
                b) PA10用于USART1的RX,連接到板子上的RS232芯片(SP3232)
                c) 串口為2線模式,無硬件流控,即無CTS和RTS口線
                d) 波特率為115200bps
                e) 8個數(shù)據(jù)位、1個起始位、1個停止位、無校驗位、bit0先傳輸
                f) 軟件查詢方式,未用中斷
        - CPU的中斷
                a) PendSV Handler 用于u/COS-II內(nèi)核,中斷向量等于OSPendSV()函數(shù)地址
                b) SysTick_Handler 用于u/COS-II滴答,調(diào)用了Tmr_TickISR_Handler()函數(shù)

【6】調(diào)試方法
        - 可以選擇IAR的EWARM或者KEIL的MDK兩種IDE進行開發(fā)調(diào)試
        - 工程文件\Project\EWARMv5\project.eww,可以使用EWARM打開
        - 工程文件\Project\MDK-ARM(uV3)\project.Uv2,可以使用MDK(uV3)打開
        - 工程文件\Project\MDK-ARM(uV4)\project.uvproj,可以使用MDK(uV4)打開
        - 工程文件\Project\SourceInsight\Demo.PR,可以使用SourceInsight打開
        - 使用ARM仿真器(J-Link、ST-Link、U-Link)下載程序,或者通過串口ISP下載程序
        - 支持在CPU內(nèi)部Flash中調(diào)試、在CPU內(nèi)部RAM中調(diào)試、在外部SRAM中調(diào)試
        - 將開發(fā)板的COM1串口用一根直連串口線連接到計算機的RS232串口或者用USB轉(zhuǎn)RS232串口線連接到計算機USB口
        - 計算機上運行超級終端軟件(windows開始菜單-附件-通信-超級終端)或者串口工具軟件SecureCRT
                注意:其它一些串口助手之類的軟件不支持控制指令,將導(dǎo)致用戶看不到字符旋轉(zhuǎn)效果
        - 程序運行后,串口軟件的窗口將顯示一個旋轉(zhuǎn)的字符和動態(tài)的CPU運行時間,刷新周期為100ms
        - 當(dāng)按下USER鍵時,串口軟件的窗口將顯示u/COS-II系統(tǒng)信息
        - 當(dāng)按下TAMPER鍵時,串口軟件的窗口將顯示u/COS-II系統(tǒng)所有的任務(wù)名稱和對應(yīng)的任務(wù)優(yōu)先級

【7】開發(fā)工具軟件
        - 所有的開發(fā)工具軟件路徑 : \光盤\04.工具軟件
        - SecureCRT :一個優(yōu)秀的功能強大的超級終端工具
        - SourceInsight : 一個優(yōu)秀的源代碼編輯和瀏覽工具
        - KEIL_MDK : KEIL公司開發(fā)的集成開發(fā)環(huán)境(IDE)軟件
        - IAR_EWARM : IAR公司開發(fā)的集成開發(fā)環(huán)境(IDE)軟件
        - J-Link ARM : SEGGER公司開發(fā)的J-Link仿真器驅(qū)動軟件(無需IDE支持,可以直接下載程序)
               
【8】參考資料
        - 開發(fā)板的用戶手冊路徑: \光盤\01.文檔\01.開發(fā)板用戶手冊
        - 開發(fā)板的硬件原理圖路徑: \光盤\02.硬件資料\01.硬件原理圖
        - 開發(fā)板所有芯片的數(shù)據(jù)手冊路徑: \光盤\02.硬件資料\03.外圍芯片數(shù)據(jù)手冊
        - CPU的型號、引腳、封裝等詳細資料,請參考《STM32F103CDE數(shù)據(jù)手冊.pdf》(ST官方發(fā)布的數(shù)據(jù)手冊)
                文件路徑: \光盤\02.硬件資料\02.STM32 CPU數(shù)據(jù)手冊
        - CPU內(nèi)部資源的詳細介紹,請參考《STM32_RM_CH_V10_1.pdf》(ST官方發(fā)布的參考手冊)
                文件路徑: \光盤\02.硬件資料\02.STM32 CPU數(shù)據(jù)手冊
        - CPU庫函數(shù)的詳細使用方法,請參考《stm32f10x_stdperiph_lib_um.chm》(英文)
                文件路徑: \光盤\01.文檔\07.ST庫函數(shù)手冊(chm格式,英文)               
        - u/COS-II相關(guān)函數(shù)的詳細使用方法,請參考《uCOS-II用戶手冊.chm》(中文)
                文件路徑: \光盤\03.軟件資料\06.uCOS_II & ucGUI\       
        - MDK和EWARM開發(fā)環(huán)境的教程路徑:\光盤\01.文檔\02.KEIL和IAR軟件使用教程

       

評分

參與人數(shù) 1黑幣 +5 收起 理由
旺旺0000000 + 5 贊一個!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:144808 發(fā)表于 2016-10-27 19:06 | 只看該作者
感謝
回復(fù)

使用道具 舉報

板凳
ID:199166 發(fā)表于 2017-5-10 17:07 | 只看該作者
好東西
回復(fù)

使用道具 舉報

地板
ID:169559 發(fā)表于 2017-5-11 11:55 | 只看該作者
謝謝分享,學(xué)習(xí)一下!
回復(fù)

使用道具 舉報

5#
ID:91580 發(fā)表于 2017-5-24 12:57 | 只看該作者
感謝,需要實例加深認識
回復(fù)

使用道具 舉報

6#
ID:91580 發(fā)表于 2017-8-3 13:13 | 只看該作者
剛學(xué)習(xí)這個內(nèi)容,感謝分享
回復(fù)

使用道具 舉報

7#
ID:240786 發(fā)表于 2017-10-18 22:51 | 只看該作者
回復(fù)需要審核,請等待通過
回復(fù)

使用道具 舉報

8#
ID:120085 發(fā)表于 2017-12-16 18:05 | 只看該作者
學(xué),謝謝xiexie。123
回復(fù)

使用道具 舉報

9#
ID:309767 發(fā)表于 2018-4-17 08:44 | 只看該作者
學(xué)習(xí)  謝謝。!
回復(fù)

使用道具 舉報

10#
ID:291075 發(fā)表于 2018-4-23 09:33 | 只看該作者

好東西,謝謝分享,學(xué)習(xí)一下!
回復(fù)

使用道具 舉報

11#
ID:81544 發(fā)表于 2018-7-13 10:45 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

12#
ID:216090 發(fā)表于 2018-7-16 14:30 | 只看該作者
謝謝分享,很詳細            
回復(fù)

使用道具 舉報

13#
ID:115427 發(fā)表于 2018-7-16 19:47 | 只看該作者
好東西,謝謝分享
回復(fù)

使用道具 舉報

14#
ID:115427 發(fā)表于 2018-7-16 19:47 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

15#
ID:20672 發(fā)表于 2018-9-28 20:06 | 只看該作者
謝謝分享~~~
回復(fù)

使用道具 舉報

16#
ID:411722 發(fā)表于 2018-10-19 10:33 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

17#
ID:486226 發(fā)表于 2019-5-24 11:38 | 只看該作者

感謝樓主分享
回復(fù)

使用道具 舉報

18#
ID:282538 發(fā)表于 2019-5-27 10:05 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報

19#
ID:478466 發(fā)表于 2019-5-27 10:49 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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