STM32CubeMX使用感受
开篇先说一下个人使用STM32CubeMX的感受,第一点的感受就是STM32CubeMX加速了开发流程,ST官方的库写的很好,在使用之前,开发流程一般是打开如正点原子/野火之类的一些代码合集,打开文件夹,按需从里面提前如ADC.c/.h等文件完成初始化的部分,然后编译完成没有错误后,再去调整初始化配置,在之后才开始应用接口。
而STM32CubeMX使用上与打开文件夹逐个功能提取的效果是一样的,但是CubeMX生产的代码更加规范,并且还有注释规范用户再哪里添加代码块。维护起来肯定比东拼西凑各家不一样变量定义的方便好用很大。
配置流程
RCC配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/ecc3710df3f64175b104ab2ce97cd6a8.png)
时钟树配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/371e5ab994634855a93824b38795aa1e.png)
- 发现一个很有趣的现象,再配置的过程中CubeMX更新过几次,最老版本是5.XX的H750VB官方默认的外部晶振是8M,更新后是25M。
- 可以手动输入想要的工作频率,错误的时候官方会自动帮你配置接近的参数,这里配置200M是为了方便后续DAC输出正弦波时计算使用。
ADC配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/4d5a71d44803480598881e9e198e6c37.png)
- 配置的内容很简单,就是看着选项的名称然后根据自己的需要进行选择需要的内容即可
- 如果不清楚选项的意思,可以点击叹号查看官方给出来的功能描述
- 扫描选项默认是关闭的,且不能手动切换,只有选择下面通道数选项Number Of Conversion选择大于1才会打开扫描
- 因为要开启DMA所以开启连续转换模式
- 还有值得注意的就是通道优先级问题,默认所有RANK下的通道都是最高级通道,例如下面图中默认都是Channel 3,需要手动排序。
![在这里插入图片描述](https://img-blog.csdnimg.cn/c5fcdeee3a924ac099c61112e48142f5.png)
DMA
![在这里插入图片描述](https://img-blog.csdnimg.cn/e6a08e992e0b44198d88d780ab4ca29b.png)
按需配置即可,我这边选择循环
DAC配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/ca4ed17079564b6abdb9533b6106be13.png)
- DAC的配置很简单按需打开即可
- 波形输出需要选择触发源才会出现选项
生产代码注意事项
![在这里插入图片描述](https://img-blog.csdnimg.cn/2101715bea7346658065d9e005ee734c.png)
- 需要注意编译使用的IDE软件版本
![在这里插入图片描述](https://img-blog.csdnimg.cn/f4ec9bea5a73431baa6f77303d0fbb6a.png)
- 勾选生产.c.h文件选项
- 全部内容堆放在main.c
生产代码效果
MPU_Config();
HAL_Init();
uint32_t ADC_Value[120]={0};
uint32_t ad1=0, ad2=0, ad3=0, ad4=0, ad5=0, ad6=0;
int i=0;
SystemClock_Config();
MX_GPIO_Init();
MX_DMA_Init();
MX_DAC1_Init();
MX_ADC1_Init();
MX_TIM6_Init();
SineWave();
HAL_TIM_Base_Start(&htim6);
HAL_DAC_Start_DMA(&hdac1,DAC_CHANNEL_2,(uint32_t *)Dat,80,DAC_ALIGN_12B_R);
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)&ADC_Value, 120);
总结
STM32CubeMX的使用极其方便,完美接近了常规开发东拼西凑代码各种花样不够统一规范的问题
对与个人而言唯一的缺点就是CubeMX只支持HAL库,而在实际开发过程中很多产品都还是标准库。
但是它的效率以及代码统一规范,对需要长期维护的产品来说是极大利好的。
个人安利
由于特殊情况,没办法使用示波器或者万用表测量,只能够通过串口转发来观察,Vofa+这款串口助手可以根据数据生成波形,效果还是很不错的。
![在这里插入图片描述](https://img-blog.csdnimg.cn/558a146e934d40ee9fa70f217978b61d.png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)