本文为作者配置STM32CubeMX自用指南
本文会随作者本人学习进度不断更新,后续会将内容不断丰富
欢迎交流讨论,喜欢的话点个赞吧
声明:由于作者能力有限,本文或许会有少许错误,希望各位大佬能在评论区指出,本人不胜感激!
欢迎去看我的主页
: NicholasYe’s Hompage.
CubeMX的配置
RCC外部晶振配置
- 根据开发板上的晶振频率确定外部时钟源频率(如图为25MHz)
- 选择RCC时钟中的外部晶源
3. 配置时钟树中的时钟
4. 至此RCC外部晶振配置完成
GPIO引脚配置
GPIO_Input设置
- 在需要设定的引脚上选择输入模式
GPIO_Output设置
- 在需要设定的引脚上选择输出模式
GPIO_EXIT外部中断设置
- 在需要的引脚上选择外部中断模式
2. 在GPIO中可以设置外部中断触发模式
- 具体触发模式详解可看:B站
代码展示
PA1为输出模式,PA2为输入模式,PE3为外部中断
void MX_GPIO_Init(void)//GPIO初始化函数
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOE_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);
/*Configure GPIO pin : PE3 */
GPIO_InitStruct.Pin = GPIO_PIN_3;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pin : PA1 */
GPIO_InitStruct.Pin = GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pin : PA2 */
GPIO_InitStruct.Pin = GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI3_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(EXTI3_IRQn);
}
文件输出配置
- 注意,输出的路径要是全英文!!
2. Code Generator中记得把这个点上
3. 输出代码吧╰( ̄▽ ̄)╭
注:全文以STM32H750开发板为例
请在转载文章过程中明确标注文章出处!尊重原创,尊重知识产权,谢谢!