本次我们使用STM32CubeMX以及MDK实现之后的调试,通过STM32CubeMX创建初始化程序,MDK编写应用程序并下载调试。
简要介绍了所需软件及创建工程的入口,本篇将引导您完成第一个程序的编写,同时涉及基本配置习惯,建议根据个人习惯进行快速设置。
选择新工程的初始配置,我们可以选择通过芯片也可以通过开发板进行新工程的建立,实际上是通的:
在着手配置具体的外设初始化代码之前,我们需先行对工程进行详尽设置:
上图可自定义编辑项目名称以及项目存储位置,IDE选择我们之前定好的MDK,其他设置项默认。
代码生成配置根据自己的习惯写,个人习惯各个模块初始化生成单独的C和H:
接下来配置时钟:
在Pinout&Configuration中的RCC下先打开HSE,如下图(如果不使用外部时钟可以跳过):
接下来进行“Clock Configuration”的设置:
本次设置的主频为最大时钟110MHz,L系列相对的最大始终还是低一点。
这个时候我们需要看一下元流通中LED对应的引脚是哪一个了:
接下来就找到初始状态的引脚绿灯(PG12),红灯(PD3):
blink涉及到的引脚就是这两个了,配置完我们就可以生成初始化代码了,直接“GENERATE CODE”:
这两个LED交替闪烁的效果,实现咱们的LEDblink,代码如下:
<p>MX_GPIO_Init();</p><p> MX_ICACHE_Init();</p><p> /* USER CODE BEGIN 2 */</p><p>HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin,GPIO_PIN_SET);</p><p>HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin,GPIO_PIN_RESET);</p><p> /* USER CODE END 2 */</p><p> /* Infinite loop */</p><p> /* USER CODE BEGIN WHILE */</p><p> while (1)</p><p> {</p><p> HAL_GPIO_TogglePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin);</p><p> HAL_GPIO_TogglePin(LED_RED_GPIO_Port, LED_RED_Pin);</p><p> /* Insert delay 100 ms */</p><p> HAL_Delay(1000);</p><p> /* USER CODE END WHILE */</p><p> /* USER CODE BEGIN 3 */</p><p> }</p>
在while外部初始一下状态,然后在循环中进行翻转皆可以了,间隔为1s。
效果如下:
|