一、前言


使用STM32开发产品已经快两年了,一路走来真的非常有意思。

  • 单片机型号:从STM32F103->STM32F407->STM32H743
  • : 从标准库->HAL库(STM32CubeMX生成)
  • IDE:从IAR->STM32CubeIDE->Keil
  • RTOS:从UCOSIII->FreeRTOS->RTX5
  • 学习的嵌入式厂家:正点原子->野火->硬石科技->安富莱电子(牛B厂家)

在使用STM32开发产品的过程中,经常碰到不知道如何使用STM32CubeMX去生成标准的HAL库代码的问题。比如我想要使用定时器时,STM32CubeMX如何配置?我想要使用FDCAN时,STM32CubeMX又如何配置?不知道大家有没有发现一个问题,各个嵌入式厂家都不会将STM32CubeMX做深入的讲解,都在推他们各家编写的bsp。先不说这些bsp有没有质量问题,对于我们SMT32使用者来说,学会STM32CubeMX生成标准的官方HAL库才是正确的道路,STM32CubeMX对项目今后的维护与迭代都起到非常大的作用。为此,我将平时做项目时,如何配置STM32CubeMX的经验分享给同学们。

除了STM32CubeMX的使用之外,也会分享一些跟STM32有关的内容。

二、串口

STM32H743+CubeMX-串口重定向printf
STM32H743+CubeMX-串口非空闲中断接收

三、TIM

STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)
STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)
STM32H743+CubeMX-低功耗定时器LPTIM输出PWM波
STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)+ 中断
STM32H743+CubeMX-定时器TIM输出PWM(Out Compare模式) + 中断
STM32H743+CubeMX-定时器TIM发送非对称PWM(使用一个通道)
STM32H743+CubeMX-TIM1发送PWM脉冲,TIM2计算PWM脉冲的总数(定时器同步计数实现)
STM32F407+CubeMX-使用TIM产生PWM信号
STM32F407+CubeMX-使用TIM计算编码器的脉冲总数,并计算脉冲方向

四、SPI

STM32H743+CubeMX-QSPI读写外部FLASH(W25Q128JVSQ)
STM32H743+CubeMX-QSPI+DMA读取外部FLASH(W25Q128JVSQ)
STM32H743+CubeMX-SPI与DRV8889串行通讯,驱动步进电机

五、FDCAN

STM32H743+CubeMX-学习FDCAN控制器上的TxFIFO
STM32H743+CubeMX-计算FDCAN2上的MessageRAMOffset(使两路FDCAN正常工作)
STM32H743+CubeMX-解决FDCAN控制器无法接收远程帧
STM32H743+CubeMX-两路FDCAN同时工作的终极方案(RTX5)
STM32H743+CubeMX-双路FDCAN同时工作的终极方案(裸机)
RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN模板

六、ADC

STM32H743-梳理ADC模数转换器在CubeMX上的配置
STM32H743+CubeMX-使用ADC(16bit分辨率)模数转换器读取CPU的温度(串行方式)
STM32H743+CubeMX-ADC(16bit分辨率)+DMA采样三路模拟量(并行),没过采样
STM32H743+CubeMX-ADC(16bit分辨率)+DMA采样三路模拟量,硬件过采样器实现1024倍过采样

七、通讯协议

STM32H743+CubeIDE-CanFestival实现两个CANopen Master同时独立运行
RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN驱动+CANopen协议

八、FLASH & RAM

STM32H743+CubeIDE-将变量定义到指定的内存
STM32H743+CubeMX-梳理MPU的设置
STM32H743+Keil-将变量定义到指定内存
STM32CubeIDE教程-查看FLASH与RAM细节
SMT32H743+CubeMX-配置MPU后,在Keil上的程序卡死

九、其他

STM32F407-学习STM32的SW与JTAG调试与下载电路的设计
STM32H743+CubeMX-移植ThreadX
STM32H743+Cube-Keil上移植RTX5实时系统
STM32CubeIDE教程-现场表达式切换数字进制表示
Keil | 解决Keil双击工程名无法打开.map的问题
Keil | 解决Keil与VScode配合使用时,代码与注释位置不一样的问题
Keil | 解决Keil与Source Insight4.0配合使用时,代码与注释位置(乱码)不一样的问题
Keil | 使用Register Windows测量函数的执行时间
STM32F407+CubeMX - 使用GPIO翻转+示波器测量函数的执行时间
bootloader | 基于STM32F407 - 使用STM32Cubeprogrammer的USB DFU进行固件烧写
bootloader | 基于STM32F407 - 使用STM32Cubeprogrammer的UART进行固件烧写
IAP-Bootloader | 基于STM32F407+STM32CubeMX - 通过按钮实现Bootloader程序与APP程序互相切换

STM32+CubeMX开发工程笔记汇总(更新2022.6.12)相关推荐

  1. STM32+CubeMX开发工程笔记汇总(更新2021.8.12)

    一.前言 使用STM32开发产品已经快两年了,一路走来真的非常有意思. 单片机型号:从STM32F103->STM32F407->STM32H743 库: 从标准库->HAL库(ST ...

  2. STM32 cubemx 开发系列文章(一)认识cubemx

    STM32 cubemx 开发系列文章 新建一个cubemx工程 1.下载stm32 cubemx软件 2.安装软件 3.配置软件 4.开始第一个Hello World工程配置 写在最后 新建一个cu ...

  3. web前端开发入门笔记(更新中)

    前言 假期曾上过6节HTML与微信小程序开发基础课,对前端开发有所了解,今天上完大英就开始看了下课程,出乎意料的易于接受,也许是之前打下的基础,但还是系统地学习比较好,毕竟作为一门知识. 此外,有兴趣 ...

  4. 采用arm-none-eabi-gcc交叉编译工具链 以及使用xmake构建 STM32 RT-Thread nano工程 笔记

    xmake构建工程 由于多余的文件目录太多,所以删除了bsp目录 xmake.lua构建文件编写 -- 设置工程名 set_project("stm32_rtt_nano_demo" ...

  5. stm32 cubemx hal 工程中 微秒延迟 delay_us

    参考的正点原子的代码 测试平台 stm32f429i-disco 配了一个gpio 时钟 gpio /* USER CODE BEGIN 0 */ typedef uint8_t u8; typede ...

  6. 微生物群落相互作用模型系列------全系列汇总(2022.8.12更新)

    微生物群落相互作用建模系列 系列介绍: 一. 本系列主要包含以下内容的文章: 基于动力学方程的简单模拟 基于个体模型(IBM/ABM)适应度与适应性行为的模拟 基于基因组规模代谢网络模型(GMMS)和 ...

  7. 【总结】最系统化的CV内容,有三AI所有免费与付费的计算机视觉课程汇总(2022年12月)...

    欢迎大家关注有三AI的计算机视觉课程系列,我们的课程系列共分为5层境界,内容和学习路线图如下: 第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用等. 第2层: ...

  8. 【总结】有三AI所有原创GAN相关的学习资料汇总(2022年12月)

    GAN的研究和应用在这几年发展可以说是非常迅猛,无疑是这几年深度学习计算机视觉领域里落地性最酷的技术之一,包括图像与视频生成,数据仿真与增强,各种各样的图像风格化任务,人脸与人体图像编辑,图像质量提升 ...

  9. [游戏开发-学习笔记]菜鸟慢慢飞(12)- Unity3D中LitJson 解析遇到的问题

    1.数据格式问题 问题:服务器那边设置的HP的类型是float,如果传给客户端的是1000,没有小数点解析的时候LitJson会优先按照int去解析.但是呢,服务器回头还有可能传回的是1000.50这 ...

最新文章

  1. tomcat生成catalina.out文件
  2. 世界欠他一个图灵奖! LSTM之父的深度学习“奇迹之年”
  3. android自定义绘制二叉树,安卓数据结构04-二叉树
  4. [NHibernate]获取分组查询的记录总数
  5. shell(希尔排序)
  6. python决策树id3算法_python实现决策树ID3算法
  7. C++笔记-二维棋盘数组转邻接表(使用QTL)
  8. mysql慢查询面试题_头条Java岗3面入职:事务+慢查询SQL+Redis+秒杀设计面试题等
  9. 事件 ID 1505,1508
  10. Django学习--form(表单)
  11. BG.Hive - part3
  12. IDEA ideaIU点击无反应
  13. 字符串之重复字符统计
  14. 32位计算机如何升级,32位改64位系统怎么安装 32位怎么升级64位系统
  15. vs2013 分析 profiler 导致电脑重启
  16. Java开发必学:Java开发进大厂面试必备技能,技术总监都拍手叫好
  17. 微信小程序 MinUI 组件库系列之 abnor 异常流组件 1
  18. [个人笔记]R语言:缺失值NA处理
  19. 经营分析师如何进一步提升自己的境界
  20. 计算流体力学笔记D3

热门文章

  1. Solid Converter PDF中文版
  2. [渝粤教育] 南通大学 分子生物学 参考 资料
  3. 2012年最值得关注的10家云计算公司
  4. AVL Cruise和MATLAB DLL联合仿真时快速生成Simulink模型的方法
  5. RO反渗透膜规格尺寸该如何选择?
  6. 【讲座笔记】商业分析全攻略手册
  7. jfreechart开发体温单
  8. js中Boolean值为false和true的情况:
  9. ROM定制开发入门-第三方ROM发展现状
  10. 【计算机组成原理】指令系统(二)—— 扩展操作码