你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32超低功耗平台上的RTOS培训——之一、创建任务

[复制链接]
七哥 发布时间:2018-5-2 23:47
本帖最后由 toofree 于 2018-5-3 09:54 编辑

STM32超低功耗平台上的RTOS培训——之一、创建任务

  参加《STM32超低功耗平台上的RTOS培训》有一段时间了,由于个人原因,一直没发贴汇报。今天补贴,根据RTOS培训样例程序,分析、理解RTOS创建任务的过程,并举一反三添加任务。

  打开培训课件样例程序“FreeRTOS_TaskCreation”。IAR环境与培训一致——版本8.20.1,如果不一致,会导致下载程序问题(当然经过修改设置后可以正常下载,但这里不作过多解释)。左边工程管理中有几个文件夹,分别是用户程序、驱动程序、中间件(即FreeRTOS部分)。
   傲游截图20180502225443.jpg
  
  打开“main.c”文件,到main函数,最开始为系统时钟及外设的初始化。这在裸跑的时候也是必须的。
   傲游截图20180502231340.jpg


  创建两个任务函数。
   傲游截图20180502225548.jpg

  由于任务函数在main函数之后,因此在文件开头需要申明。
   傲游截图20180502225720.jpg

  定义两个任务优先级
   傲游截图20180502225813.jpg
  在main函数中,创建任务,并开启任务调度。
   傲游截图20180502230131.jpg

  在工程设置中设置ST-Link为下载调试器,并设置flash loader(在keil下对应为flash编程算法)。
   傲游截图20180502232019.jpg

   傲游截图20180502232043.jpg

  将Nucleo-L496ZG板连接电脑USB。
     完全编译程序,保证无错误后。在“Project”下拉菜单下,选择“Download and Debug”或者直接快捷方式Ctrl+D,下载并调试。F5全速跑程序(F5在很多环境下都是全速跑程序的快捷键)。
   傲游截图20180502232458.jpg

  当然也可以不调试,直接下载程序,按复位键跑程序。
   傲游截图20180502232714.jpg

  这时我们可以看到,Nucleo-L496ZG板上的蓝色LED2开始闪烁。

  打开串口调试助手,选择ST-Link虚拟出来的串口,设置115200波特率。可以UART任务在不停的从串口打印输出
   傲游截图20180502233604.jpg

  等等……,还没结束!

  Nucleo-L496ZG板上有三个用户LED,LED1、LED2、LED3分别为绿、蓝、红。我们可以照猫画虎,把LED1、LED3也增加到任务中来。
  初始化中增加LED3
   傲游截图20180502234203.jpg

  添加LED1、LED3的任务函数,并在文件开头增加申明。
   傲游截图20180502234254.jpg

   傲游截图20180502234401.jpg

  增加LED1、LED3任务的优级宏定义,并重新调整了各任务的优先级。
   傲游截图20180502234444.jpg

  主函数中增加创建LED1、LED3的任务
   傲游截图20180502234627.jpg

  下载、并全速跑程序。可以看到LED1、LED2、LED3全部闪烁起来了。

  是不是非常简单呢!so easy!




收藏 评论1 发布时间:2018-5-2 23:47

举报

1个回答
zero99 回答时间:2018-5-3 09:08:58
谢谢支持啦!

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版