[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] 第十三章.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] 第十三章.docx》由会员分享,可在线阅读,更多相关《[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] 第十三章.docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统设计(基于STM32F429)第 13 章课后题参考答案1. 常用的 DAC 电路结构有哪些? 答:权电阻网络 DAC 、R2R 倒 T 形电阻网络 DAC、电流型网络 DAC2. 分辨率为 12 位,参考电压为 3.3V 的 DAC,想要输出 1.2V 的电压,请问输出这一电压对应的数字信号是多少?答:(1.2/3.3)*4095 = 14893. STM32F429 微控制器的DAC 有哪些触发方式(转换启动方式)? 答:(1) 、软件触发:通过写 DAC 的数据保持寄存器 触发 DAC 转换(2) 、硬件信号触发: 通过定时器 TRGO 事件 或 外部中断线 9 触发。4. 请
2、问寄存器 DHR 和 DOR 之间有什么关系? 答:DHR:数据保持寄存器。可读写。DOR:数据输出寄存器。只读。 程序一般操作的是 DHR 寄存器。5. DAC 单通道的数据格式有哪些? 答:(1) 对于 DAC 单通道 x,有三种可能的方式。8 位右对齐:软件必须将数据加载到 DAC_DHR8Rx7:0位(存储到 DHRx11:4位)。12 位左对齐:软件必须将数据加载到 DAC_DHR12Lx15:4位(存储到 DHRx11:0位)。12 位右对齐:软件必须将数据加载到 DAC_DHR12Rx11:0位(存储到 DHRx11:0位)。(2) 对于 DAC 双通道,有以下可能的方式。8 位
3、右对齐:将DAC 通道 1 的数据加载到 DAC_DHR8RD7:0位(存储到DHR111:4位),将 DAC 通道 2 的数据加载到 DAC_DHR8RD15:8位(存储到 DHR211:4位)。12 位左对齐:将 DAC 通道 1 的数据加载到 DAC_DHR12RD15:4位(存储到 DHR111:0位),将 DAC 通道 2 的数据加载到 DAC_DHR12RD31:20位(存储到 DHR211:0位)。12 位右对齐:将 DAC 通道 1 的数据加载到 DAC_DHR12RD11:0位(存储到 DHR111:0位),将 DAC 通道 2 的数据加载到 DAC_DHR12RD27:16
4、位(存储到 DHR211:0位)。6. 软件如何启动一次 DAC 转换? 答:通过写 DAC 的 DHR 寄存器即可实现。有以下函数:void DAC_SetChannel1Data(uint32_t DAC_Align, uint16_t Data) void DAC_SetChannel2Data(uint32_t DAC_Align, uint16_t Data)void DAC_SetDualChannelData(uint32_t DAC_Align, uint16_t Data2, uint16_t Data1)7. 作为 DAC 的模拟信号输出通道的 GPIO 引脚需要怎么初始化
5、?以 DAC1 为例。答:GPIO_InitTypeDef GPIO_InitStructure;/*-第 1 步*/* 使 能 GPIOA 时 钟 */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);/* 使 能 DAC 时 钟 */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);/*-第 2 步*/* DAC 的 GPIO 配 置 , 模 拟 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPI
6、O_Mode = GPIO_Mode_AIN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOA, &GPIO_InitStructure);8. 编程序配置 STM32F429 微控制器的 DAC1 产生一个频率为 2kHz 的正弦波。答:1) 结合定时器中断实现。在每次定时器中断中写 DAC 数据保持寄存器启动 DAC 转换。教材中例 13.5,修改 TIM_Config(void)。TIM_TimeBaseStructure.TIM_Period = 2250-1;/ 采 样 频 率 = 40KHz TIM_
7、TimeBaseStructure.TIM_Prescaler = 0x0;/预分频,不分频 90M / (0+1) = 90M TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;/时钟分频系数TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);/向上计数模式2) 结合定时器和 DMA 实现。使用定时器溢出事件 作为 DAC 的转换触发信号。使用 DMA 将波形数据缓冲区中的数据源转移到 DA
8、C 数据保持寄存器中。#definePi3.1415926#definef1000/正弦波频率 2KHz#definefs20000/采样频率40KHz/* 波形数据*/uint16_t Sine_Table20;(1) DAC 配置函数此函数执行之后,定时器每次溢出都会触发一次 DAC 自动转换,DMA 控制转换的数据来源。void DAC_Mode_Init(void)uint32_t Idx = 0;/* 填充正弦波形数据,双通道右对齐*/ for (i = 0; i 20; i+)Sine_Table i = (uint16_t )(float)4095*(1+sin(2*i*Pi*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统设计基于STM32F4 徐灵飞 习题解答 嵌入式系统设计基于STM32F4徐灵飞习题解答 第十三章 嵌入式 系统 设计 基于 STM32F4 习题 解答 第十三
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内