|
学习有奖 | 《STM32CubeMX2 实战课程》打卡学习,精通工程配置与代码移植
新课上线,坛友们!《STM32CubeMX2 从入门到工程实践实战课程》重磅来袭! ! u; w7 L/ A7 I! F还在对新版 STM32CubeMX2 上手陌生、不清楚安装配置要点、工程创建踩坑、代码生成移植频频出错、多开发环境切换(STM32CubeIDE / VS Code / Keil)流程不熟悉?这款工具专项课程,专为 STM32 入门开发者、需要适配新版 CubeMX2 的工程师量身打造!带你打通「软件安装配置→工程创建→代码生成→工程移植→多 IDE 适配」完整链路,吃透 STM32CubeMX2 全套使用流程。 6 `" E6 ~! h& x本次课程拒绝空洞理论堆砌,全程以 “原理讲解 + 工程实操 + 步骤拆解” 为主线,搭配 GPIO Toggle 实战案例,由浅入深逐层讲解,干货密集落地性强。完整覆盖 CubeMX2 安装配置、工程新建、外设配置、代码生成、工程移植,以及 STM32CubeIDE、VS Code、Keil 多开发环境下的完整开发流程,帮你避开配置报错、工程迁移失败、编译异常等各类开发坑点,快速建立 STM32 图形化工具开发的完整知识体系,为后续 STM32 项目开发打下扎实基础。 ![]() 课程内容: 课程1:【STM32CubeMX2安装】 课程4:【STM32CubeMX和STM32CubeMX2官方中文入门教程】 *更多课程可在论坛搜索“STM32CubeMX2” ![]()
学习有礼: 学习时间:即日起-10月11日 通过学习《STM32CubeMX2 实战课程》,在ST中文论坛-STM32团队中发布你的学习心得/笔记。 分享要求:图文并茂形式,分享内容建议从学习中遇到的问题、原理的理解、课程中重点内容整理、实践经验、课程建议等方向; 分享标题:《STM32CubeMX2 实战课程》学习笔记+自定义 分享奖励: 1、最佳分享:我们将从分享学习笔记的蝶粉中,抽7名优质者送出《STM32嵌入式系统开发——基于STM32CubeMX和HAL库》书一本或STM32开发板一块。 2、优秀分享:抽3位送电动螺丝刀一套 - ]7 w& n6 m7 J! P% p" w* n: u![]() 其他配套活动:还可参与申请STM32C5板卡评测活动,快速上手体验STM32CubeMX2 n, I/ L5 F4 S # \+ U: w/ e) K+ D |
体验官招募|300套STM32C5开发板免费试用,千元现金奖励等你来拿!
《STM32CubeMX2 实战课程》学习笔记1+由MX2生成MDK5项目(本贴话题选错了)
【免费评测】STM32H5 新品 ——NUCLEO H5E5ZJ 开发板测评活动
学习有奖 | 打卡《STM32 MCUBoot 安全启动与固件升级》课程,筑牢固件安全能力
把安全做进产品全生命周期|CRA 安全月三场系列直播重磅来袭
【粉丝福利】2026 ST中文论坛年中粉丝福利活动
STM32N6视频打卡学习
学习 ST 功率氮化镓GaN- 最佳能效解决方案
ST Aliro标准“全家桶”的硬件、软件解决方案
五一宠粉活动奖品展示——氮化镓充电器
微信公众号
手机版
结合教程3和教程4,已经实现了用STM32CUVBEMX2生成适用于MDK5.42的工程,在STM32C542开发板完成了用户LED的呼吸灯实验测试。
在STM32CUVBEMX2将PA5配置为TIM1的CH3通道的PWM输出,由PWM控制用户LED,实现呼吸灯效果。
// inital LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOA); hal_tim_handle_t *htim1 = mx_tim1_init(); if (htim1 == NULL) { while (1); // ?????,?? }
// PA5 = AF2 (TIM1_CH3) LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_5, LL_GPIO_MODE_ALTERNATE); LL_GPIO_SetAFPin_0_7(GPIOA, LL_GPIO_PIN_5, 2); // AF1 LL_GPIO_SetPinOutputType(GPIOA, LL_GPIO_PIN_5, LL_GPIO_OUTPUT_PUSHPULL); LL_GPIO_SetPinSpeed(GPIOA, LL_GPIO_PIN_5, LL_GPIO_SPEED_FREQ_HIGH); LL_GPIO_SetPinPull(GPIOA, LL_GPIO_PIN_5, LL_GPIO_PULL_NO);
// start TIM1 output LL_TIM_CC_EnableChannel(TIM1, LL_TIM_CHANNEL_CH3); // CC3E LL_TIM_EnableAllOutputs(TIM1); // MOE,?? LL_TIM_EnableCounter(TIM1); // CEN
// pwm & step uint32_t arr = LL_TIM_GetAutoReload(TIM1); // 0xFFFF int32_t pwm = 0x200; int32_t step = 300;
/ USER CODE END 2 /
while (1)
{
/ USER CODE BEGIN WHILE /
LL_TIM_OC_SetCompareCH3(TIM1, (uint32_t)pwm);
pwm += step;
if (pwm >= (int32_t)arr)
{
pwm = (int32_t)arr;
step = -100;
}
else if (pwm <= 0)
{
pwm = 0;
step = 100;
}
HAL_Delay(1);
/ USER CODE END WHILE /
}
1、直接跳过第一节,从第二节开始
1、过去CubeMx的配置文件的后缀是IOC,现在CubeMX2的配置文件后缀是IOC2
2、CubeMx2的MCU软件包获取方式有两种,一种是从Github,另外一种是在线创建软件包
3、获取例程需要去网站寻找。可以创建特定的例程
打卡学习
这一集是基于 CubeMX2 开发 GPIO Toggle 的 CMake 工程,并且分别在 STM32CubeIDE、VS Code 环境下打开调试。过去我大多使用 Keil 环境开发,很少接触 CMake 工程模式。本次实操体会到,CubeMX2 输出 CMake 工程,让 STM32 开发不再局限于单一 IDE,VS Code 轻量化开发体验很好。同时也注意到工程生成后环境路径、工具链匹配容易出现报错,需要重点留意配置,保证多环境工程可正常编译运行。
已经下载MX2并创建工程了
通过课程3的学习,发现,MX2配置参数完成后,创建工程可以由两个位置生成工程。一是下图左侧①创建工程,二是下图中部偏左②创建工程。学到新知识点了
9.3 打卡
学**装mx2,mx2和mx1的界面一比,差距很大
9.5 打卡
9.6 打卡
9.7 打卡
9.8 打卡
9.9 打卡
笔记分享
1.https://shequ.stmicroelectronics.cn/thread-871624-1-1.html《STM32CubeMX2 实战课程》学习笔记1+由MX2生成MDK5项目
2.https://shequ.stmicroelectronics.cn/forum.php?mod=viewthread&tid=871645&page=1&extra=#pid2951385《STM32CubeMX2 实战课程》学习笔记2+MX2生成的MDK5工程中添加已存在文件(.c / .h)
3.https://shequ.stmicroelectronics.cn/thread-871680-1-1.html《STM32CubeMX2 实战课程》学习笔记3.+sleep/stop/standby低功耗模式的入口
9.10