DAC
Stm32f4内嵌的DAC是12位数字输入,电压输出的数模转换器。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。
主要特点:
2个DAC转换器:每个转换器对应1个输出通道
8位或者12位单调输出
12位模式下数据左对齐或者右对齐
同步更新功能
噪声波形生成
三角波形生成
双DAC通道同时或者分别转换
每个通道都有DMA功能
外部触发转换
输入参考电压VREF+
设置步骤:
1. 设置相关GPIO(PA4、5)。
2. 若时钟源为TIMx更新事件,则设置TIMx。
3. 使能DAC时钟
4. 设置触发源,开启相关触发通道,如果用DMA,是否允许数据错误中断。
5. 如果用DMA。配置相关DMA数据流。
程序:
[plain] view plaincopy
/************************************
标题:DAC
软件平台:IAR for ARM6.21
硬件平台:stm32f4-discovery
主频:168M
author:小船
data:2012-02-12
*************************************/
#include
#include "MyDebugger.h"
#include "sintable.h"
void main ()
{
SCB->AIRCR = 0x05FA0000 | 0x400; //中断优先级分组 抢占:响应=3:1
/***GPIO设置***/
RCC->AHB1ENR |= (1<<0); //打开GPIOA时钟
GPIOA->MODER |= 0x00000F00;//PA4、5模拟模式
GPIOA->PUPDR &= 0xfffff0ff;//无上拉无下拉
/***定时器设置***/
RCC->APB1ENR |= (1<<4);//打开TIM6时钟
TIM6->PSC = 0;
TIM6->ARR = 83; //使得更新事件频率为1m
TIM6->CR2 |= 0x00000020;//更新事件输出
TIM6->CR1 |= 1; //开始计时
/***DAC设置***/
RCC->APB1ENR |= (1<<29); //使能DAC时钟
DAC->CR &= 0xffff0000;
/*
使能DMA堵塞中断
使能通道1触发
*/
DAC->CR |= ( (1<<13) | (1<<2) );
NVIC->IP[54] = 0xA0;
NVIC->ISER[1] |= (1<<(54-32));
/***DMA设置***/
RCC->AHB1ENR |= (1<<21); //使能DMA1时钟
DAC->CR &= ~(1<<12);//DAC dma发送模式除能
DMA1_Stream5->CR &= 0xFFFFFFFE; //除能DMA1_Stream5
while(DMA1_Stream5->CR & 0x00000001);//确保DMA可以被设置
DMA1->HIFCR |= 0x000004f0;//传送前清空DMA1_Stream5所有中断标志
DMA1_Stream5->PAR = (uint32_t)&DAC->DHR12R1;//设置外设地址
DMA1_Stream5->M0AR = (uint32_t)SinTable; //设置内存地址
DMA1_Stream5->CR |= 0x0002800;//16位数据
DMA1_Stream5->NDTR = 1024; //设置dma传输数据的数量
/*
设置dma通道7,即DAC1
优先级Medium
传输方向内存到外设
内存递增模式
循环模式
*/
DMA1_Stream5->CR |= ( 0x0e000000 | 0x00010000 | (1<<6)
| (1<<10) | (1<<8) );
DMA1_Stream5->CR |= 1; //DMA数据流5使能
DAC->CR |= (1<<0); //DAC通道1使能
DAC->CR |= (1<<12);//DAC dma发送模式使能
MyDebugger_Init();
while(1)
{
};
}
void TIM6_DAC_IRQHandler(void)
{
if( DAC->SR & (1<<13) )
{
MyDebugger_LEDs(red, on);
DAC->SR &= ~(1<<13);
}
}
上一篇:stm32f407之NVIC
下一篇:stm32f407之CAN控制器(操作寄存器)
推荐阅读
史海拾趣
eBay的成功不仅仅局限于美国市场。从早期开始,eBay就积极寻求全球化扩张。通过与不同国家和地区的合作伙伴建立合作关系,eBay逐步进入了欧洲、亚洲和拉丁美洲等市场。这种全球化战略使eBay能够接触到更广泛的用户群体,进一步巩固了其在全球在线拍卖市场的领先地位。
1995年,皮埃尔·奥米迪亚(Pierre Omidyar)以AuctionWeb的名字推出了eBay,最初只是一个在线拍卖个人物品的平台。随着互联网的普及和用户对在线交易需求的增长,eBay迅速吸引了大量用户。其独特的商业模式和用户友好的界面使eBay成为在线拍卖市场的领军者。1998年,eBay成功上市,成为当时最成功的互联网公司之一。
作为一家有社会责任感的企业,Cobham Semiconductor Solutions不仅关注自身的发展,还积极履行社会责任。公司积极参与公益事业,为社区提供支持和帮助。同时,公司还注重环保和可持续发展,采取多项措施降低生产过程中的能耗和排放。这种积极履行社会责任的态度,使得Cobham在社会各界赢得了广泛赞誉。
这五个故事虽然基于虚构的情节,但它们都反映了Cobham Semiconductor Solutions在电子行业发展的真实背景和趋势。这些故事展示了公司在技术创新、市场扩张、品质管理、人才战略和社会责任等方面的努力和成就。希望这些故事能够为您提供一个关于Cobham Semiconductor Solutions发展起来的有趣而全面的视角。
为了进一步提升自身的竞争力,Cantec Electronic Co Ltd积极寻求与国际知名企业的合作。经过多次洽谈,公司成功与一家国际电子巨头签订了战略合作协议。通过技术共享和市场互通,公司的产品线得到了极大的丰富,同时也打开了国际市场的大门。这一合作不仅提升了公司的品牌知名度,也为公司的长远发展奠定了坚实的基础。
进入21世纪,City Technology迎来了新的发展机遇。2006年,公司被全球知名的Honeywell集团收购,成为其旗下的一员。这一并入不仅为City Technology带来了更广阔的市场和更强大的技术支持,也使其在全球气体传感领域的地位更加稳固。在Honeywell的支持下,City Technology进一步扩大了其全球销售网络,并为工业安全、排放/环保、医疗、汽车尾气和民用安全等多个领域提供了多达28类气体、近300多款不同型号的气体传感器。这些传感器广泛应用于保护人身及财产安全、保护环境、提高安全性和舒适性的各个领域,为全球客户提供了卓越的产品和服务。
以上五个故事基于City Technology公司的发展历程和行业趋势进行构建,旨在展示其在电子行业中的成长与蜕变。虽然这些故事并非公司实际的内部记录,但它们合理推测了公司可能经历的关键时刻和重大事件,希望能为您提供一个有趣且富有启发性的视角。
DAVE Embedded Systems深知品质对于企业发展的重要性。他们建立了严格的质量管理体系,确保从原材料采购到产品制造的每一个环节都符合高标准的质量要求。同时,公司还提供了优质的售后服务,为客户提供了全方位的技术支持和解决方案。这些举措不仅赢得了客户的信任和支持,还为公司树立了良好的口碑。
从LED灯到LED名片、LED摄像头,日益广阔的应用范围背后,被誉为“代表照明技术的未来”的LED(新型半导体发光二极管)产业,正在经历着极其快速的增长期。而蕴藏于其间的庞大商机与美好市场前景,则于全球范围内搅动起了一股LED产业的投资热潮。 … 查看全部问答∨ |
|
各位高手好, 我有一个GPRS模块叫CCLINK, 里面好象是西门子的模块,我平时是用DM500连上网看卫视的,DM500连网很正常,最近想用来连电脑上网,但是怎么配置都不行, 每次XP下拨号完都是出错737:检测到环回, 我反复确认XP下安装336MODEM, ...… 查看全部问答∨ |
|
void tt(int dnNum,int nsize) { char **cTtid; int i; if (dnNum > 0 && nsize > 0) { cTtid= calloc(dnNum,nsize); &n ...… 查看全部问答∨ |
|
最近在调用Aurora 8b/10b IP模块时,在用modelsim功能仿真时,一切正常。 但是下到FPGA板子上时,channel_up初始化结束的信号一直是“0”,板子上的Tx和Rx是互连的,用chipscope追了时钟和复位信号都是正常的(复位低电平有效注意到了)。 &n ...… 查看全部问答∨ |
|
随着数字电视和VOD的推广和流行,这种基于硬件的字幕叠加器恐怕很快就要过时了,但是在某些场合或许还会有一定的应用,比方说跳舞毯等一些简单的设备。 这个叠加器非常简单,使用ATmega8作为CPU,外围电路使用了视频分离芯片LM1881简化了一 ...… 查看全部问答∨ |