爱板网论坛

查看: 172|回复: 1

[中移One NET] 麒麟座MINI开发板-STM32CubeMX+FreeRTOS初试

[复制链接]

4

主题

0

好友

95

积分

童生

Rank: 2

  • TA的每日心情
    开心
    2017-11-5 21:25
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2017-10-29 17:37:10 |显示全部楼层
        最近在学习FreeRTOS,看了网上的一些教程,发现用STM32CubeMX软件开发FreeRTOS非常的简单和便捷,今天刚好有点闲时间,就在麒麟座MINI开发板上试了试,主要实现了利用FreeRTOS控制4个LED灯的闪烁。
        1.开发工具
         STM32CubeMX V4.230  ,Keil MDK5.14 ,麒麟座MINI开发板,ST-LINNK V2下载器
        2. STM32CubeMX软件配置流程
       

    选择芯片

    选择芯片

       第一步,打开STM32CubeMX软件后,创建新工程,选择主控芯片。麒麟座MINI开发板的CPU是STM32F103CBT6,选择芯片后双击进入配置界面。
      

    芯片管脚配置

    芯片管脚配置

      先配置RCC,选择外部时钟。这里选择外部高速时钟:12M晶振
      再配置DEBUG方式,这里我们选得是串行SW方式。由于FreeRTSO使用了Systick作为时钟节拍,而HAL库也使用了Systick作为HAL_Delay()和各种timeout的时钟基准。因此需要将HAL的时钟基准改为其他TIMER,这里选择TIM1作为HAL库的时钟基准。

    端口设置

    端口设置

      接下来是LED端口设置。查看麒麟座MINI开发板LED控制端,将PB6,PB7,PB8,PB9设置为输出端口。
      

    时钟配置

    时钟配置

      麒麟座MINI开发板用的是12M的晶振,经过倍频后输出最大72MHz时钟给系统和外设使用。
       360截图16350915393864.png
      
      功能配置,选择FreeRTOS后,需要对RTOS和GPIO进行配置。
       360截图16270903428463.png

      在RTOS功能配置中,我们只修改任务这一项,其他均采用默认配置。增加了四个LED任务,任务优先级相同,栈大小均设为128word,保存设置。
       360截图16411209333762.png

      将四个GPIO口进行命名,推挽输出,默认输出为高电平。
       360截图16421106283112.png

      配置完成后,点击生成源代码,设置好工程名,选择KEIL MDK作为IDE,生成的工程如下:
        360截图16280721175770.png

       在main函数中,通过GPIO初始化函数MX_GPIO_Init()和RTOS初始化函数MX_FREERTOS_Init()找到相关的文件对GPIO端口和任务进行操作。
       360截图164003014810294.png
    360截图16661129428445.png

    在gpio.h文件中对四个LED的开关进行了定义。
    360截图16261008175312.png
    360截图16181005839883.png

    在freertos.c文件中可以看到生成的四个任务,我们在任务里加入LED开关代码。
    至此,所有操作都完成了,保存文件、工程,编译下载到麒麟座MINI开发板中,就可以看到四个LED同时闪烁。


    回复

    使用道具 举报

    8

    主题

    0

    好友

    2335

    积分

    进士

    Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 12:19
  • 签到天数: 476 天

    连续签到: 13 天

    [LV.9]以坛为家II

    发表于 2017-10-31 08:19:19 |显示全部楼层
    不知道其他友商有没有类似STM32CubeMX的工具,这个工具确实方便了广大开发者。
    回复

    使用道具 举报

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

    关闭

    站长推荐上一条 /2 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-11-25 08:15 , Processed in 0.218037 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部