找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 13526|回复: 19
打印 上一主题 下一主题
收起左侧

基于stm32+ucos+ucgui的综合例子 强烈推荐

  [复制链接]
跳转到指定楼层
楼主


所有资料打包下载:
基于stm32 ucos ucgui的综合例子.rar (15.05 MB, 下载次数: 381)


/*
*********************************************************************************************************
*
*        例程名称      : uC/OS-II_创建任务&邮箱例程
*        uC/OS-II 版本 :V2.86
*        ST固件库版本  :V3.4.0
*        例程版本      : V1.0
*        作    者      : armfly
*        开发环境      : KEIL的uVision V3.70、uVision V4.10、IAR的EWARM V5.30
*
*********************************************************************************************************
*/

【1】例程介绍
        本例程提供如下功能:
        (1) 提供一个基于u/COS-II操作系统的应用程序框架
        (2) 演示如何创建多个任务
        (3) 演示如何使用邮箱进行两个任务之间的通信
       
        本程序共创建了6个任务:
        (1) u/COS-II Idle任务,这是由操作系统创建的空闲任务,优先级最低

        (2) u/COS-II Stat任务,这是由操作系统创建的统计任务,统计CPU运行时间、CPU占用率等

        (3) u/COS-II Tmr任务,这是由操作系统创建的定时器任务,为应用程序提供软件定时器,未用

        (4) AppTaskStart任务,这是由用户创建的启动任务,完成如下工作:
                (a) 初始化BSP
                (b) 创建1个邮箱AppUserIFMbox
                (c) 创建2个任务,1个是用户界面任务AppTaskUserIF,1个是按键检测任务AppTaskKbd
                (d) 之后控制LED1指示灯按照100ms的周期闪烁                       

        (5) AppTaskKbd任务,这是由AppTaskStart创建的按键检测任务
                        按键检测任务AppTaskKbd实时检测USER键和TAMPER键的状态,当有键按下时,则向邮箱AppUserIFMbox
                发送一条消息,消息内容为按键码变量的指针。

        (6) AppTaskUserIF任务,这是由AppTaskStart创建的用户界面任务                       
                        户界面任务AppTaskUserIF等待邮箱中的消息,如果USER键按下的消息则打印u/COS-II系统信息,如果
                收到TAMPER键按下则打印所有的任务名称和任务优先级;如果没有收到任何信息则打印一个旋转的字符和
                CPU运行时间(单位为1个滴答)。
       
【2】例程文件夹说明
├─Libraries :  存放第3方提供的库或其源代码,这些代码一般是成熟的并经过验证的代码。
│  ├─CMSIS  :  CMSIS中间件源代码(目的是提供统一的调试接口),这是ST官方提供的固件库的一部分。
│  ├─STM32F10x_StdPeriph_Driver : STM32F10x系列MCU的固件库源代码,这是ST官方提供的固件库的核心代码。
│  └─uCOS-II : u/COS-II操作系统源代码,这是Micrium公司开发的多任务操作系统。

├─User      :  这里存放用户自己编写的源代码
│  ├─app    :  存放应用程序源代码
│  └─bsp    :  存放底层驱动程序源代码,也就是板级支持包

└─project   :  这里存放各类开发工具的工程文件
   ├─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              : 用户自己编写的应用程序
   ├─BSP              : 用户自己编写的底层驱动程序
   ├─RVMDK            : 和IDE开发工具相关的启动代码,一般是汇编源代码
   ├─StdPeriph_Driver : STM32F10x系列MCU的固件库源代码
   ├─CMSIS            : CMSIS中间件源代码
   ├─uCOS-II/Source   : u/COS-II操作系统源代码
   ├─uCOS-II/Port     : u/COS-II操作系统内核接口层源代码
   ├─uCOS-II-CPU      : u/COS-II操作系统CPU接口层源代码
   ├─Scatter          : KEIL链接器用到的链接配置文件
   └─Doc              : 存放一些文档

【4】工程中Target说明
        Flash   : 目标代码定位在CPU内部Flash。ROM地址: 0x08000000 RAM地址: 0x20000000
        CpuRAM  : 目标代码定位在CPU内部RAM。  ROM地址: 0x20000000 RAM地址: 0x20008000
        ExtSRAM : 目标代码定位在外部SRAM。    ROM地址: 0x68000000 RAM地址: 0x20000200 (前面0x200空间存放
                        中断向量表)

【5】资源占用情况
        【安富莱STM32F103ZE-EK开发板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个数据位、1个起始位、1个停止位、无校验位、bit0先传输
                f) 软件查询方式,未用中断
        - CPU的中断
                a) PendSV Handler 用于u/COS-II内核,直接调用OSPendSV()函数
                b) SysTick_Handler 用于u/COS-II滴答,调用了Tmr_TickISR_Handler()函数

        【安富莱STM32F103VE-EK开发板】
        - 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个数据位、1个起始位、1个停止位、无校验位、bit0先传输
                f) 软件查询方式,未用中断
        - CPU的中断
                a) PendSV Handler 用于u/COS-II内核,中断向量等于OSPendSV()函数地址
                b) SysTick_Handler 用于u/COS-II滴答,调用了Tmr_TickISR_Handler()函数

【6】调试方法
        - 可以选择IAR的EWARM或者KEIL的MDK两种IDE进行开发调试
        - 工程文件\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内部Flash中调试、在CPU内部RAM中调试、在外部SRAM中调试
        - 将开发板的COM1串口用一根直连串口线连接到计算机的RS232串口或者用USB转RS232串口线连接到计算机USB口
        - 计算机上运行超级终端软件(windows开始菜单-附件-通信-超级终端)或者串口工具软件SecureCRT
                注意:其它一些串口助手之类的软件不支持控制指令,将导致用户看不到字符旋转效果
        - 程序运行后,串口软件的窗口将显示一个旋转的字符和动态的CPU运行时间,刷新周期为100ms
        - 当按下USER键时,串口软件的窗口将显示u/COS-II系统信息
        - 当按下TAMPER键时,串口软件的窗口将显示u/COS-II系统所有的任务名称和对应的任务优先级

【7】开发工具软件
        - 所有的开发工具软件路径 : \光盘\04.工具软件
        - SecureCRT :一个优秀的功能强大的超级终端工具
        - SourceInsight : 一个优秀的源代码编辑和浏览工具
        - KEIL_MDK : KEIL公司开发的集成开发环境(IDE)软件
        - IAR_EWARM : IAR公司开发的集成开发环境(IDE)软件
        - J-Link ARM : SEGGER公司开发的J-Link仿真器驱动软件(无需IDE支持,可以直接下载程序)
               
【8】参考资料
        - 开发板的用户手册路径: \光盘\01.文档\01.开发板用户手册
        - 开发板的硬件原理图路径: \光盘\02.硬件资料\01.硬件原理图
        - 开发板所有芯片的数据手册路径: \光盘\02.硬件资料\03.外围芯片数据手册
        - CPU的型号、引脚、封装等详细资料,请参考《STM32F103CDE数据手册.pdf》(ST官方发布的数据手册)
                文件路径: \光盘\02.硬件资料\02.STM32 CPU数据手册
        - CPU内部资源的详细介绍,请参考《STM32_RM_CH_V10_1.pdf》(ST官方发布的参考手册)
                文件路径: \光盘\02.硬件资料\02.STM32 CPU数据手册
        - CPU库函数的详细使用方法,请参考《stm32f10x_stdperiph_lib_um.chm》(英文)
                文件路径: \光盘\01.文档\07.ST库函数手册(chm格式,英文)               
        - u/COS-II相关函数的详细使用方法,请参考《uCOS-II用户手册.chm》(中文)
                文件路径: \光盘\03.软件资料\06.uCOS_II & ucGUI\       
        - MDK和EWARM开发环境的教程路径:\光盘\01.文档\02.KEIL和IAR软件使用教程

       

评分

参与人数 1黑币 +5 收起 理由
旺旺0000000 + 5 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:144808 发表于 2016-10-27 19:06 | 只看该作者
感谢
回复

使用道具 举报

板凳
ID:199166 发表于 2017-5-10 17:07 | 只看该作者
好东西
回复

使用道具 举报

地板
ID:169559 发表于 2017-5-11 11:55 | 只看该作者
谢谢分享,学习一下!
回复

使用道具 举报

5#
ID:91580 发表于 2017-5-24 12:57 | 只看该作者
感谢,需要实例加深认识
回复

使用道具 举报

6#
ID:91580 发表于 2017-8-3 13:13 | 只看该作者
刚学习这个内容,感谢分享
回复

使用道具 举报

7#
ID:240786 发表于 2017-10-18 22:51 | 只看该作者
回复需要审核,请等待通过
回复

使用道具 举报

8#
ID:120085 发表于 2017-12-16 18:05 | 只看该作者
学,谢谢xiexie。123
回复

使用道具 举报

9#
ID:309767 发表于 2018-4-17 08:44 | 只看该作者
学习  谢谢!!!
回复

使用道具 举报

10#
ID:291075 发表于 2018-4-23 09:33 | 只看该作者

好东西,谢谢分享,学习一下!
回复

使用道具 举报

11#
ID:81544 发表于 2018-7-13 10:45 | 只看该作者
谢谢分享
回复

使用道具 举报

12#
ID:216090 发表于 2018-7-16 14:30 | 只看该作者
谢谢分享,很详细            
回复

使用道具 举报

13#
ID:115427 发表于 2018-7-16 19:47 | 只看该作者
好东西,谢谢分享
回复

使用道具 举报

14#
ID:115427 发表于 2018-7-16 19:47 | 只看该作者
谢谢分享
回复

使用道具 举报

15#
ID:20672 发表于 2018-9-28 20:06 | 只看该作者
谢谢分享~~~
回复

使用道具 举报

16#
ID:411722 发表于 2018-10-19 10:33 | 只看该作者
感谢楼主分享
回复

使用道具 举报

17#
ID:486226 发表于 2019-5-24 11:38 | 只看该作者

感谢楼主分享
回复

使用道具 举报

18#
ID:282538 发表于 2019-5-27 10:05 | 只看该作者
感谢楼主分享
回复

使用道具 举报

19#
ID:478466 发表于 2019-5-27 10:49 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表