zoukankan      html  css  js  c++  java
  • 用STM32CubeMX创建FreeRTOS项目

    1. 目标, PG13,PG14双线程双闪灯。

    2. 测试平台

      stm32f429i-disco

      keil v5.13.0.0

      CubeMx 4.8.0

    3. 步骤

      3.1 打开cube, PG13,13设为输出, Rcc选外部晶振, 点选FreeRTOS

      3.2 时钟配置界面 enable css, 配置成系统主频168M

      3.3 全部默认设置, 生成代码。 

      3.4 配置好的模版大概是这样的

      

    //void StartDefaultTask(void const * argument);
    
    int main(void)
    {
        HAL_Init();
        SystemClock_Config();
        MX_GPIO_Init();
    
        osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
        defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
        osKernelStart();
        while(1);
    }
    
    /* StartDefaultTask function */
    void StartDefaultTask(void const * argument)
    {
        /* USER CODE BEGIN 5 */
        /* Infinite loop */
        for(;;)
        {
            osDelay(1);
        }
        /* USER CODE END 5 */ 
    }    

      照猫画虎填上自己代码就行了

    void blink_ledG(void const *argument);
    void blink_ledR(void const *argument);
    main(){
           HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_SET);
        HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_SET);
        
        
        osThreadDef (ledG, blink_ledG, osPriorityNormal, 0, 128); 
        osThreadDef (ledR, blink_ledR, osPriorityNormal, 0, 128); 
        
        osThreadCreate(osThread(ledG), NULL);
        osThreadCreate(osThread(ledR), NULL);     
         osKernelStart();
          while (1);       
    }
    
    void blink_ledG(void const *argument) {
        for(;;){
            HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_SET);
            osDelay(500);
            HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_RESET);
            osDelay(500);    
        }    
    }
    void blink_ledR(void const *argument) {
        for(;;){
            HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_SET);
            osDelay(250);
            HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_RESET);
            osDelay(250);
        }        
    }
  • 相关阅读:
    站点收藏
    深入理解HttpModule和HttpHandler
    搜索引擎URL参数解析
    ExtJs学习之路进度条
    Net加密保护工具分析介绍
    基于百度搜索开放平台的天气查询
    Squid配置
    ArcEngine中对已经存在的数据表格添加字段(转载)
    ArcGIS Engine开发基础之QI(转载)
    Arcgis Engine 开发术语(转载)
  • 原文地址:https://www.cnblogs.com/zhaitao85/p/4642071.html
Copyright © 2011-2022 走看看