STM32CubeIDE开发笔记6:F407+DAC+TIM

STM32CubeIDE开发笔记6:F407+DAC+TIM


本文链接:https://blog.csdn.net/qq_42038029/article/details/103851481
版权声明:本文为CSDN博主「遥望1415984987」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
stm32CubeIDE所用版本:1.1.0
固件库包:f4 1.24.2
测试平台stm32f407zg
由于STM32F103C8T6没有DAC模块,所以本次用F407来学习DAC模块的使用,也简单学习F4的配置。

STM32F407ZG的简单配置

如图,和f103一样,先把时钟源配置成外部时钟源,不先配置RCC,就配置不了后面的时钟树。
在这里插入图片描述
SYS选择SW调试。用JLINK的根据自己情况选择,我记得没错的话,cubeide目前只支持STLINK和JLINK的下载调试,用DAP下载器的注意一下。
在这里插入图片描述
时钟树配置成下图这样,没啥好说的:
在这里插入图片描述
这样基本的配置就弄好了,接下来加DAC配置。

DAC的配置

DAC的配置很简单,如下图:
在这里插入图片描述
生成工程后,添加两行代码即可

/* USER CODE BEGIN 2 */
  HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, 2048);
  HAL_DAC_Start(&hdac, DAC_CHANNEL_1);

第一行代码的第一个参数是句柄,第二个是通道口,第三个是转换值12位右对齐,我看了下,我所使用的F407只有三种数据格式:

/** @defgroup DAC_data_alignment DAC Data Alignment
  * @{
  */
#define DAC_ALIGN_12B_R                    0x00000000U
#define DAC_ALIGN_12B_L                    0x00000004U
#define DAC_ALIGN_8B_R                     0x00000008U
/**

一般都用第一个12位右对齐就行了。
第四个参数是转换值,12位数据,最大为2的12次方减一,也就是4095,对应电压为电源电压即3.3V。2048为最大值一般,对应电压应该为1.65V,下载至单片机上验证。
在这里插入图片描述
可以看出与预期一致。

DAC+TIM产生三角波

先配置好DAC
在这里插入图片描述
再配置好TIM2
在这里插入图片描述
配置好后更新代码
依然两行代码搞定

 /* USER CODE BEGIN 2 */
//  HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, 2048);
  HAL_TIM_Base_Start(&htim2);
  HAL_DAC_Start(&hdac, DAC_CHANNEL_1);

  /* USER CODE END 2 */

下载到单片机上验证

在这里插入图片描述
创作不易,点个赞吧!

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值