完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前言
基于学习的目的,详细讲解关于 Cube 库中的 DAC 的功能。本次介绍 DAC。
一、示例详解
基于硬件平台:STM32F10C-EVAL,MCU 的型号是 STM32F107VCT6。
软件则是其 Cube 库,路径:
STM32CubeRepositorySTM32Cube_FW_F1_V1.3.0ProjectsSTM3210C_EVALExamplesDACDAC_SignalsGeneration 。
1、主程序
软件配置,运行程序可以发现,系统时钟设置为 72MHz,定时器使用到的是 TIM6;
根据时钟树的图谱及其程序, 该示例选择的是内部时钟源作为定时器的时钟源;TIM6 的时钟源来自 APB1 的分频。
AHB 时钟 (HCLK)在 RCC_CFGR 寄存器中的分频系数 HPRE 的值为 0,即 SYSCLK not divided,即/1,所以 HCLK 就是72MHz; APB1 的 prescaler 的系数是 PPRE1:0x4,HCLK divided 2,即/2,APB1CLK 为 36MHz;由于 APB1 的 prescaler 系数部 分频,即/4,所以倍频器起作用,即为上图中的 TIMxCLK = 72Mhz。 2、 定时器 Tim6
设置的是向上计数,周期是 0x7FF(2047),从 0 开始计数到 2047,所以该定时器的更新周期:(2047+1)/72 = 28us,
所以传输的 6 个数值:
对于8位的DAC,程序中设定的是右对齐, 所以,对应的DOR分别为 0x000(0), 0x330(816), 0x660(1632), 0x990(2448), 0xCC0(3264), 0xFF0(4080) ; 而 Vref = 3.3V, 所以: Vdac 分别等于:也是约在 0V; 0.66V; 1.32V; 1.98V; 2.64V; 3.3V 之间; 3、阶梯波形
|
|
相关推荐
|
|
991 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
970 浏览 2 评论
2080 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1177 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 07:42 , Processed in 0.387062 second(s), Total 40, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号