- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32 DAC知识
STM32 DAC?2014-02-11 11:23:52分类:?嵌入式STM32?的?DAC?模块(数字/模拟转换模块)是?12?位数字输入,电压输出型的DAC。DAC?可以配置为?8?位或?12?位模式,也可以与?DMA?控制器配合使用。DAC工作在?12?位模式时,数据可以设置成左对齐或右对齐。DAC?模块有?2?个输出通道,每个通道都有单独的转换器。在双DAC?模式下,2?个通道可以独立地进行转换,也可以同时进行转换并同步地更新?2?个通道的输出。DAC?可以通过引脚输入参考电压?VREF+以获得更精确的转换结果。STM32?的?DAC?模块主要特点有:①??2?个?DAC?转换器:每个转换器对应?1?个输出通道?②??8?位或者?12?位单调输出?③??12?位模式下数据左对齐或者右对齐?④??同步更新功能?⑤??噪声波形生成?⑥??三角波形生成?⑦??双?DAC?通道同时或者分别转换⑧??每个通道都有?DMA?功能?使用库函数的方法来设置?DAC?模块的通道?1?来输出模拟电压,其详细设置步骤如下:1)开启?PA?口时钟,设置?PA4?为模拟输入。STM32F103ZET6?的?DAC?通道?1?在?PA4?上,所以,我们先要使能?PORTA?的时钟,然后设置?PA4?为模拟输入。DAC?本身是输出,但是为什么端口要设置为模拟输入模式呢?因为一但使能?DACx?通道之后,相应的?GPIO?引脚(PA4?或者?PA5)会自动与?DAC?的模拟输出相连,设置为输入,是为了避免额外的干扰。使能?GPIOA?时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,?ENABLE?);????//使能?PORTA?时钟设置?PA1?为模拟输入只需要设置初始化参数即可:GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AIN;????????//模拟输入2)使能?DAC1?时钟。同其他外设一样,要想使用,必须先开启相应的时钟。?STM32?的?DAC?模块时钟是由?APB1提供的,所以我们调用函数?RCC_APB1PeriphClockCmd()设置?DAC?模块的时钟使能。?RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC,?ENABLE?);????//使能?DAC?通道时钟?3)初始化?DAC,设置?DAC?的工作模式。该部分设置全部通过?DAC_CR?设置实现,包括:DAC?通道?1?使能、DAC?通道?1?输出缓存关闭、不使用触发、不使用波形发生器等设置。这里?DMA??初始化是通过函数?DAC_Init?完成的:void?DAC_Init(uint32_t?DAC_Channel,?DAC_InitTypeDef*?DAC_InitStruct)?参数设置结构体类型?DAC_InitTypeDef?的定义:typedef?struct{uint32_t?DAC_Trigger;?//设置是否使用触发功能uint32_t?DAC_WaveGeneration;?//设置是否使用波形发生uint32_t?DAC_LFSRUnmask_TriangleAmplitude;?//设置屏蔽/幅值选择器,这个变量只在使用波形发生器的时候才有用uint32_t?DAC_OutputBuffer;??//设置输出缓存控制位}DAC_InitTypeDef;实例代码:DAC_InitTypeDef?DAC_InitType;DAC_InitType.DAC_Trigger?=?DAC_Trigger_None;??//不使用触发功能??TEN1=0DAC_InitType.DAC_WaveGeneration?=?DAC_WaveGeneration_None;//不使用波形发生DAC_InitType.DAC_LFSRUnmask_TriangleAmplitude?=?DAC_LFSRUnmask_Bit0;DAC_InitType.DAC_OutputBuffer?=?DAC_OutputBuffer_Disable?;??//DAC1?输出缓存关闭?DAC_Init(DAC_Channel_1,DAC_InitType);????//初始化?DAC?通道?14)使能?DAC?转换通道初始化?DAC?之后,理所当然要使能?DAC?转换通道,库函数方法是:DAC_Cmd(DAC_Channel_1,?ENABLE);???//使能?DAC15)设置?DAC?的输出值。通过前面?4?个步骤的设置,DAC?就可以开始工作了,我们使用?12?位右对齐数据格式,所以我们通过设置?DHR12R1,就可以在?DAC?输出引脚(PA4)得到
您可能关注的文档
- SIFT算法和卷积神经网络算法在图像检索领域的应用分析.doc
- 数字化水噪声测试和分析技术_王天其.pdf
- 现场部实用工作手册最终版(噪音振动)20170427.docx
- 语音信号处理中基于加权自相关函数的基音提取.docx
- 误差理论与不确定度评定(第二、三讲).ppt
- 第一章蓝底板.ppt
- 噪声下的矩阵完备及其在 DOA 估计中的应用_矩阵分析课程Project报告.pdf
- 4空化噪声特性实验研究.pdf
- 4第四章 传播学研究方法.ppt
- CMOS有源像素图像传感器的噪声控制技术_裴志军.pdf
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)