这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » MDK新建F410工程,以及STM32CubeMX

共4条 1/1 1 跳转至

MDK新建F410工程,以及STM32CubeMX

菜鸟
2018-11-20 22:23:10     打赏

不知道大家拿到板子是怎么新建工程的,我的习惯还是直接mdk新建,可能是不习惯STM32CubeMX这个软件,毕竟一开始没有教程。安装MDK和安装mdk的库我就不一一介绍了。


1.png如图至少选择以上红框所示的内容,然后选择左下角的RESOLVE按钮就能看到如上图的全绿表示可以确定了,其余选项根据自己的程序进行选择。

以上步骤比较简单。但是从老版本32到新版本的32有很多不同。

以下是使用  CubeMx建立工程生成的代码

  HAL_Init();


  /* USER CODE BEGIN Init */

  /* USER CODE END Init */


  /* Configure the system clock */

  SystemClock_Config();


//以上为main函数部分代码

//以下为SystemClock_Config 函数

void SystemClock_Config(void)

{


  RCC_OscInitTypeDef RCC_OscInitStruct;

  RCC_ClkInitTypeDef RCC_ClkInitStruct;


    /**Configure the main internal regulator output voltage 

    */

  __HAL_RCC_PWR_CLK_ENABLE();


  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);


    /**Initializes the CPU, AHB and APB busses clocks 

    */

  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;

  RCC_OscInitStruct.HSIState = RCC_HSI_ON;

  RCC_OscInitStruct.HSICalibrationValue = 16;

  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;

  RCC_OscInitStruct.PLL.PLLM = 16;

  RCC_OscInitStruct.PLL.PLLN = 192;

  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;

  RCC_OscInitStruct.PLL.PLLQ = 4;

  RCC_OscInitStruct.PLL.PLLR = 2;

  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)

  {

    _Error_Handler(__FILE__, __LINE__);

  }


    /**Initializes the CPU, AHB and APB busses clocks 

    */

  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;

  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;

  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;

  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;

  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;


  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3) != HAL_OK)

  {

    _Error_Handler(__FILE__, __LINE__);

  }


    /**Configure the Systick interrupt time 

    */

  HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);


    /**Configure the Systick 

    */

  HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);


  /* SysTick_IRQn interrupt configuration */

  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);

}


但以前版本的32代码可以就是一个main()的空函数就可以,基本的始终由库函数自动配置。



/***********************************************************

下面开始说说Cube建立工程的一些简单选项

在选择好芯片的情况下左键点击引脚出现如下图所示(该引脚的所有复用功能)

2.png选择好引脚后还需要设置时钟  如下图

2.1.png然后设置中断、串口波特率等等如下图

2.2.png 

之后设置输出位置   以及编译工具  存储位置  如下两图

最后生成工程(点击红框处)

5.png 然后就会弹出一个对话框  询问是否打开工程。

到此一个工程就完毕,切只要你在如下所示的代码段之间加减代码,就算你在Cube里面修改一些东西也不会改变你的代码

  /* USER CODE BEGIN 3 */


  }

  /* USER CODE END 3 */


到此我的分享完毕




关键词: STM32CubeMX     新建     MDK     KEIL    

管理员
2018-11-21 09:33:23     打赏
2楼

谢谢楼主分享


高工
2018-11-23 16:04:18     打赏
3楼

等待新帖出现~


高工
2018-11-26 13:58:11     打赏
4楼

多谢楼主分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]