电机FOC控制(一)- STM32 CUBEMX配置RCC和GPIO
文章目录
前言
本文讲述如何对 STM32G431 MCU进行RCC、GPIO配置,并且在开发板上实现LED灯的闪烁功能。
一、STM32 CUBEMX RCC配置方法。
1、STM32 CubeMX 新建工程。
Core选择Arm Cortex-M4 ,Series选择STM32G4,MCU选择STM32G431RBTx系列,如下图所示:
2、选择外部时钟。
由于本开发板有24MHz高速晶振和32.768KHZ低速晶振,故HSE和ISE均选择使用(晶振/陶瓷振荡器)。
电路图如下所示:
STM32 CubeMX 设置如下所示:
其他选项定义如下:
选项 Master Clock Output 1 用来选择是否使能 MCO1 引脚时钟输出;
选项 Master Clock Output 2 用来选择是否使能 MCO2 引脚时钟输出;
选项 Audio Clock Input( I2S_CKIN)用来选择是否从 I2S_CKIN(PC9)输入 I2S时钟。
均不进行勾选。
二、GPIO配置
目的:检验配置是否成功,程序是否运行
1、配置GPIO基本参数。
右击MCU图形里的PB13和PB14引脚,在弹出的配置表里选择GPIO_Output。
STM32G431 PB13设置如下:
STM32G431 PB14设置如下:
GPIO基本配置说明:
GPIO output level: GPIO 默认输出电平,Low:低电平;High:高电平。
GPIO mode: 选择推挽输出。
GPIO Pull-up/Pull down: 选择上拉输出。
Maximum output speed: 选择运行速度中速。
User Lable: 用户标签,也就是宏定义,此工程不添加。
2、配置MCU运行频率。
选择Clock Configuration ,根据原理图输入晶振频率,HSE:24MHz和LSE:32.768KHZ。
三、生成工程文件
1、设定工程存放参数
选择Project Manager,在Project条目下输入工程名称和工程存放路径,在Code Generate选择工程开发软件和版本,完成后,点击GENERATE CODE按钮。
四、增加指示灯运行代码
1、添加代码
在main.c文件里面添加以下代码:
static void LED_RUN(void)
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_13);
/* Insert delay 100 ms */
HAL_Delay(500);
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);
/* Insert delay 100 ms */
HAL_Delay(500);
}
并且在main函数while里面增加LED_RUN。
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
LED_RUN();
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
总结
此工程程序成功运行,使LED灯进行闪烁。