下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《嵌入式系统设计(基于STM32F4213章课后题参考答案DAC答:DAC、2RTDADAC123.3VDAC1.2V字信号是多少?答:(1.2/3.3)*4095=1489STM32F429微控制器的DAC有哪些触发方式(转换启动方式答:DACDAC转换、硬件信号触发:通过定时器TRGO事件或外部中断线9触发。DHRDOR答:DHRDOR:数据输出寄存器。只读。DHR寄存器。DAC答:DACx,有三种可能的方式。8DAC_DHR8Rx[7:0]位(DHRx[11:4]位。12DAC_DHR12Lx[15:4]位(DHRx[11:0]位。12DAC_DHR12Rx[11:0]位(DHRx[11:0]位。DAC双通道,有以下可能的方式。8位右对齐:将DAC通道1的数据加载到DAC_DHR8RD[7:0]位(存储到DHR1[11:4]位DAC2DAC_DHR8RD[15:8]位(DHR2[11:4]位。12位左对齐:将DAC通道1的数据加载到DAC_DHR12RD[15:4]位(存储到DHR1[11:0]位,将DAC通道2的数据加载到DAC_DHR12RD[31:20]位(存储到DHR2[11:0位。12位右对齐:将DAC通道1的数据加载到DAC_DHR12RD[11:0]位(存储到DHR1[11:0]位,将DAC通道2的数据加载到DAC_DHR12RD[27:16]位(存储到DHR2[11:0位。DAC答:DACDHR有以下函数:voidDAC_SetChannel1Data(uint32_tDAC_Align,uint16_tData)voidDAC_SetChannel2Data(uint32_tDAC_Align,uint16_tData)voidDAC_SetDualChannelData(uint32_tDAC_Align,uint16_tData2,uint16_tData1)DACGPIODAC1答:GPIO_InitTypeDefGPIO_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.GPIO_Mode=GPIO_Mode_AIN;GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;GPIO_Init(GPIOA,&GPIO_InitStructure);STM32F429DAC12kHz答:结合定时器中断实现。在每次DACDAC13.5TIM_Config(void)。TIM_TimeBaseStructure.TIM_Period=2250-1; //采样频率=40KHzTIM_TimeBaseStructure.TIM_Prescaler=0x0; //预分频,不分频90M/(0+1)=TIM_TimeBaseStructure.TIM_ClockDivision=0x0; //时钟分频系数TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);
//向上计数模式DMA实现。使用定时器溢出事件作为DAC的转换触发信号。使用DMA将波形数据缓冲区中的数据源转移到DAC数据保持寄存器中。#definePi3.1415926#definef1000//正弦波频率2KHz#define fs 20000//采样频率 40KHz/*波形数据 */uint16_tSine_Table[20];DAC配置函数DAC自动转换,DMAvoidDAC_Mode_Init(void){uint32_tIdx=0;/*填充正弦波形数据,双通道右对齐*/for(i=0;i<20;i++){Sine_Table[i]=(uint16_t)((float)4095*(1+sin(2*i*Pi*f/fs))/2);}DAC_Config();//DAC初始化DAC_TIM_Config();//定时器初始化DAC_DMA_Config();/DMA初始化}DAC初始化函数staticvoidDAC_Config(void){GPIO_InitTypeDefGPIO_InitStructure;DAC_InitTypeDefDAC_InitStructure;/*使能GPIOA时钟*/RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);/*使能DAC时钟*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC,ENABLE);/*DAC的GPIO配置,模拟输入*//*DAC的GPIO配置,模拟*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;GPIO_Init(GPIOA,&GPIO_InitStructure);/*配置DAC通道1*/DAC_InitStructure.DAC_Trigger=DAC_TRIGGER;//使用TIM2的溢出触发DACDAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude=DAC_LFSRUnmask_Bit0;//屏蔽幅值设置DAC_InitStructure.DAC_WaveGeneration=DAC_WaveGeneration_None;//不使用波形发生器DAC_InitStructure.DAC_OutputBuffer=DAC_OutputBuffer_Enable;//启用输出缓冲DAC_Init(DAC_CH1_CHANNEL,&DAC_InitStructure);/*使能通道1由PA4输出*/DAC_Cmd(DAC_CH1_CHANNEL,ENABLE);}定时器初始化staticvoidDAC_TIM_Config(void){TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;/*使能TIM2时钟,TIM2CLK为180M*/RCC_APB1PeriphClockCmd(DAC_TIM_CLK,ENABLE);/*TIM2基本定时器配置*/TIM_TimeBaseStructure.TIM_Period=2250-1; //采样频率=40KHzTIM_TimeBaseStructure.TIM_Prescaler=0x0; //预分频,不分频90M/(0+1)=90MTIM_TimeBaseStructure.TIM_ClockDivision=0x0; //时钟分频系数TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(DAC_TIM,&TIM_TimeBaseStructure);/*配置TIM2触发源*/TIM_SelectOutputTrigger(DAC_TIM,TIM_TRGOSource_Update);/*使能TIM2*/TIM_Cmd(DAC_TIM,ENABLE);
//向上计数模式}DMA初始化staticvoidDAC_DMA_Config(void){DMA_InitTypeDefDMA_InitStructure;/*DAC1使用DMA1通道7数据流5时钟*/RCC_AHB1PeriphClockCmd(DAC_DMA_CLK,/*配置DMA2*/DMA_InitStructure.DMA_Channel=DAC_CHANNEL;DMA_InitStructure.DMA_PeripheralBaseAddr=(uint32_t)(DAC_BASE+0x20); //外设数据地址DMA_InitStructure.DMA_Memory0BaseAddr=(uint32_t)Sine_Table;//内存数据地DMA_InitStructure.DMA_DIR=DMA_DIR_MemoryToPeripheral;//数据传输方向内存至外设DMA_InitStructure.DMA_BufferSize=20; //缓存大小为20DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;外设数据地址固定DMA_InitStructure.DMA_MemoryIncDMA_MemoryInc_Enable; //内存数据地址自增DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord;//半字为单位DMA_InitStructure.DMA_MemoryDataSize=DMA_PeripheralDataSize_HalfWord; //半字为单位DMA_InitStructure.DMA_Mode=DMA_Mode_Circular;DMA_InitStructure.DMA_Priority=
//循环模式//高DMA通道优先级DMA_InitStructure.DMA_FIFOMode=DMA_FIFOMode_Disable;DMA_InitStructure.DMA_FIFOThreshold=DMA_FIFOThreshold_Full;DMA_InitStructure.DMA_MemoryBurst=DMA_MemoryB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/ZNZ 257-2024绿色食品三门西兰花生产技术规范
- T/CPIA 0101-2024硅异质结光伏电池透明导电氧化物(TCO)溅镀设备
- 物流运输服务操作与规范(标准版)
- T/JSIE 0001-2021江苏省工程能力评价通用规范
- 航空发动机研发论证可行性研究报告
- 燃煤电厂脱硫脱硝项目分析方案
- 2025年新能源行业投融资政策解读与机遇探讨可行性研究报告
- 生态绿色食品产业链政策研究报告怎么写
- 物业社区设施维修保养实施方案确保设施正常运行
- 2026中国中药材种植产业市场供需格局及投资风险预估规划分析报告
- 2026秋季新学期班干部聘任仪式
- 2026年版《2型糖尿病缓解专家共识》核心全文(权威完整版)
- 《地质勘探质量控制管理手册》
- 2027届广州中考英语听说考试专项训练
- 2026年全国硕士研究生招生考试英语二真题及完整答案解析(全网完整版)
- T∕TFZX 64-2026 电子病历司法鉴定程序规定
- 特发性肺纤维化诊疗指南(2025版)
- 安徽省国资委职称评审化工专业考试题库及答案
- 2026届新高考英语冲刺热点复习高考英语短文写作
- 《国庆节英语知识分享》课件
- 节点重要性评估-洞察及研究
评论
0/150
提交评论