历史上的今天
返回首页

历史上的今天

今天是:2025年03月07日(星期五)

正在发生

2019年03月07日 | STM32之DAC例程

2019-03-07 来源:eefocus

#include "stm32f10x.h"

 

/* RCC时钟配置 */

void RCC_config()

ErrorStatus HSEStartUpStatus;

 

/* RCC寄存器设置为默认配置 */

RCC_DeInit();

/* 打开外部高速时钟 */

RCC_HSEConfig(RCC_HSE_ON);

/* 等待外部高速时钟稳定 */

HSEStartUpStatus = RCC_WaitForHSEStartUp();

if(HSEStartUpStatus == SUCCESS) 

/* 设置HCLK = SYSCLK */

RCC_HCLKConfig(RCC_SYSCLK_Div1);

/* 设置PCLK2 = HCLK */

RCC_PCLK2Config(RCC_HCLK_Div1);

/* 设置PCLK1 = HCLK / 2 */

RCC_PCLK1Config(RCC_HCLK_Div2);

// /* 设置FLASH代码延时 */

// FLASH_SetLatency(FLASH_Latency_2);

// /* 使能预取址缓存 */

// FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

/* 设置PLL时钟源为HSE倍频9 72MHz */

RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

/* 使能PLL */

RCC_PLLCmd(ENABLE);

/* 等待PLL稳定 */

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

/* 设置PLL为系统时钟源 */

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

/* 等待系统时钟源切换到PLL */

while(RCC_GetSYSCLKSource() != 0x08);

}

}

 

/* GPIO配置 */

void GPIO_config()

{

GPIO_InitTypeDef GPIO_InitStructure;

 

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

 

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_SetBits(GPIOA, GPIO_Pin_4);

}

 

/* DAC配置 */

void DAC_cofig(void)

{

DAC_InitTypeDef DAC_InitType;

 

/* 时钟初始化 */

RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);


/* 不使用触发功能 */

DAC_InitType.DAC_Trigger = DAC_Trigger_None;

/* 不使用波形发生器 */

DAC_InitType.DAC_WaveGeneration = DAC_WaveGeneration_None;

/* 屏蔽、幅值设置 */

DAC_InitType.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bit0;

/* 禁止输出缓冲区 */

DAC_InitType.DAC_OutputBuffer = DAC_OutputBuffer_Disable;

/* 初始化ADC通道 */

DAC_Init(DAC_Channel_1, &DAC_InitType);

 

/* ADC通道1使能 */

DAC_Cmd(DAC_Channel_1, ENABLE);

 

/* DAC值初始化为0 */

DAC_SetChannel1Data(DAC_Align_12b_R, 0);

}

 

/* 毫秒延时 */

void delay_ms(uint16_t time)

{    

uint16_t i = 0;

 

while(time--)

{

i = 12000;

while(i--);

}

}

 

int main()

{

uint16_t data = 2048;


/* 时钟配置 */

RCC_config();

 

/* GPIO配置 */

GPIO_config();

 

/* DAC配置 */

DAC_cofig();

 

while(1)

{

DAC_SetChannel1Data(DAC_Align_12b_R, data);

delay_ms(1000);

}

}

 


推荐阅读

史海拾趣

Continental公司的发展小趣事

近年来,大陆集团在特种商用车胎领域也取得了重要突破。2014年,大陆集团在亚洲国际物流技术与运输系统展览会上发布了一款全新的产品——SC8特种商用车胎。这款产品是专门针对亚洲物料搬运业而开发出来的,适用于仓库、饮料业、造纸业等多个行业。SC8轮胎具备超深的轮胎花纹和极佳的性能,为物料搬运业提供了更高效、更安全的解决方案。这一产品的推出进一步巩固了大陆集团在商用车胎领域的市场地位。

德立电子(DDY)公司的发展小趣事

面对日益激烈的市场竞争,德立电子积极拥抱数字化转型。公司引进先进的生产管理系统和智能设备,实现生产过程的自动化和智能化。通过数字化改造,德立电子提高了生产效率,缩短了生产周期,降低了成本,进一步增强了市场竞争力。

ACCRETECH公司的发展小趣事

在1991年,德立电子(DDY)在惠州市创立,以生产电感为核心产品,开启了其在电子行业的征程。当时,公司规模虽小,但凭借对技术的执着追求和对市场敏锐的洞察力,德立电子迅速在汽车电子、色环电感等领域取得突破。公司引进美国、日本、台湾等地的先进机械设备及检测仪器,确保产品质量,赢得了客户的信赖。

Bellin Dynamic Systems公司的发展小趣事

随着公司规模的扩大和业务范围的拓展,Bellin Dynamic Systems开始注重品牌建设和市场推广。公司加大了对品牌形象的宣传力度,通过参加行业展会、举办技术研讨会等方式提升品牌知名度。同时,公司还加强了与媒体和客户的沟通互动,积极传递公司的价值观和企业文化。这些举措有效地提升了Bellin Dynamic Systems在市场上的影响力和竞争力。

Gentron Corp公司的发展小趣事
在交通路口作为信号灯使用,指示车辆和行人通行。
DSMI Electronics SA公司的发展小趣事

随着技术的不断进步和市场需求的增长,DSMI Electronics SA公司开始寻求与国际知名品牌的合作。通过与多家国际大公司的合作,DSMI不仅提升了自身的技术水平和生产能力,还扩大了市场份额。特别是在嵌入式系统领域,DSMI的产品得到了广泛应用,成为了行业内的重要供应商之一。

问答坊 | AI 解惑

汇编语言程序设计[下载]

第1章    基础知识1.1    汇编语言及特点1.2    数据表示1.3    8086CPU和寄存器组1.4    存储器物理地址的形成 第2章  寻址方式和指令系统2.1  寻址方式2. ...…

查看全部问答>

LINK : fatal error LNK1104: cannot open file 'mfcs42d.lib'?????求助!!!

刚装上EVC4.0+SP4,从PB5导出并安装了自己的SDK,然后在EVC建了一个简单的MFC Application,选择SDK后编译后就出现: LINK : fatal error LNK1104: cannot open file \'mfcs42d.lib\' 我查看了我安装的SDK目录下有这个文件,而且在EVC的Include ...…

查看全部问答>

win 2000 不能识别我们的 USB 设备

我们在做一个USB设备的开发,硬件已经成形了。 但是,问题出在: 将该设备插入到XP系统下,系统的资源管理器里边会出现USB的2个未知设备,(我们这一个设备里,有2个Interface) 看每个的属性,PID值也和我们硬件里边写 的一样,然后安装驱动 ...…

查看全部问答>

用IAR for MSP430的JTAG口仿真,出现了问题,求高手指点

我用的是利达尔的MSP430F2274开发板,它上面直接就有JTAG口仿真,然后我就买了一块并口卡插上去,电源灯会亮,但是一直都不能仿真调试,我想是设置的问题,因为并口卡我用它来下载到ARM7上是没问题的,所以在这里求高手指点。 这个就是错误提示。…

查看全部问答>

出YC2440裸板

收了tq2440,这块yc2440的板子就用不到了,这块板子收来就上电看了一下,除POWER灯外D1-D4全亮,片刻后D3熄灭,D4常亮,D1和D2按一定的规律闪烁.此时按K1后D1-D4全灭,再按一下恢复原来来的状态此板子需要折腾一下,主要就是串口没有,需要转接板。有能 ...…

查看全部问答>

谁会做protues中有没有PIC16F1783的仿真元件

谁会做protues中有没有PIC16F1783的仿真元件?感谢热心人的帮忙,可回贴上来,也可以发邮rsszd@163.com或qq2230404553,非常期待!再次谢过…

查看全部问答>

【DLP在CES 2014】

本帖最后由 Sur 于 2014-1-16 15:59 编辑         回顾下前几天在美国拉斯维加斯举办的CES 2014-->本次展览,DLP展台上展出的最新汽车抬头显示系统和车载信息娱乐系统,有让你震撼到吗?是的,DLP技术应用于汽车, ...…

查看全部问答>

STM32的ADC1和ADC2的采集问题

试了一下STM32的ADC1和ADC2,调试时出现的问题让我不解: (1)只使用STM32的ADC1采集信号,PA.0为其模拟输入通道; 将ADC1配置成独立模式、单通道单次转换、软件触发, 采集到的数据是正确的; (2)只使用ADC2采集信号,与(1)中ADC1的设置完全相 ...…

查看全部问答>

Atmel公司为何没有出支持ARM的mbed的板子?

如题?有了解的大神吗?。。。。 …

查看全部问答>

求助大神!

我画了一个光耦 虽然有点丑,但是引脚啥的应该都没问题。为啥我导入PCB之后老是连不上线啊…

查看全部问答>