今天讲解“STM32F103 DAC输出三角波形”,比较基础,但对于初次使用该功能的朋友来说,还有有借鉴价值。
今天提供并讲解的软件工程,基于昨天的软件工程“DDAC输出三角波形”修改而来。若有疑问,请关注微信公众号“EmbeddDeveloper”获取更多信息。
本着免费分享的原则,将讲解的工程源代码分享给大家,还望看到的朋友关注和推广一下微信公众号,增加一下人气。
每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。
今天的软件工程下载地址(360云盘):
https://yunpan.cn/cPi8GB2DyeKzI 访问密码 1a45
STM32F10x的资料可以在我360云盘下载:
https://yunpan.cn/crBUdUGdYKam2 访问密码 ca90
工程概要说明:该工程通过配置,输出固定三角波形,频率和幅度也是固定的,当然也是可以变化,如果有朋友需要可以微信公众号中留言。
关于“STM32F103 DAC输出三角波形” 我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。
一、RCC时钟配置
该函数位于在bsp.c文件下面;
使能RCC时钟:RCC_APB1Periph_TIM2 和 RCC_APB1Periph_DAC (正对该工程主要的两项)。
二、引脚配置
该函数位于在dac.c文件下面;
这里是对SPI所使用引脚进行配置。
这里DA1和DA2都使用。
三、DAC配置
该函数位于在dac.c文件下面;
对DA进行配置。
配置的每一条语句都有注释,请看源代码.
注意:
这里的重点就是上面“红色”是两项。
四、触发时钟
该函数位于在timer.c文件下面;
输出的频率就是又该时钟决定的,请看源代码,不懂的微信我。
五、今天的重点提示
DA可以输出很多种波形,感兴趣的朋友可以细心研究一下,后期我应该还有讲解更高级一点的内容。但今天主要的内容就是关于频率和幅度的调节,感兴趣的朋友可以修改参数试一试,我的工程都经过实物板子测试过的,请放心下载使用。
六 、 升级版工程(增加的接口)
这里的函数接口是在上面的软件工程中升级的版本,我也将它另存为一个软件工程。
函数接口直接调用,频率、幅度方便
请前往微信公众号2016.05.11发表的文章获取下载地址。
调用接口:DAC1_OutTriangle(0, DAC_TriangleAmplitude_2047, 100);
输出的波形效果:
关键字:STM32 DAC 输出三角波形
引用地址:
STM32_DAC输出三角波形
推荐阅读最新更新时间:2024-03-16 15:37
stm32 中关于nvic的形象化解释
看到了一片关于stm32 nvic的解释,使用到了阶级 和阶层的概念,很形象化也很容易理解。 链接:http://blog.sina.com.cn/s/blog_5f17618501012rpp.html NVIC——Nested Vectored Interrupt Controller(嵌套中断向量控制器) STM32有43个channel的settable的中断源:AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4bits。这4个bits用于分配pre-emption优先级和sub优先级,在STM32的固件库中定义如下: //---------------
[单片机]
STM32学习笔记一一USART
1.串口的基本概念 通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。 USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信。 2.串口通信连接 接口通过三个引脚与其他设备连接在一起。任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。 RX:接收数据串行输。通过过采样技术来区别数据和
[单片机]
STM32 USB Mass Storage 例程调试笔记
一、问题起因 近来有几个客户反映STM3210E的开发板的USB Mass Storage 例程有点问题,组长安排我来调试。Mass Storage例程在PC上实现两个U盘,一个是SD盘,一个是NAND Flash盘,把程序下载到开发板后,PC上能够检测到NAND Flash盘和SD盘,却提示磁盘要格式化,按照提示操作,格式化不成功,可用磁盘空间和已用磁盘空间都为0。 调试前的准备 二、调试前准备 调试之前花了三天的时间,大致的看了一下USB的框架,后来才发现,没什么必要,不过多学点知识总是好的。 1.USB只提供一个数据通道,USB总线并不知道设备具体是怎么操作,有什么状态,USB设备的状态是设备自己来决定的,这就是U
[单片机]
STM32GPIO的描述和配置
一、GPIO的综合描述 stm32每一个GPIO端口拥有2个32bits的configuration寄存器(GPIOx_CRL,GPIOx_CRH),2个32bits的数据寄存器(GPIOx_IDR,GPIOx_ODR),1个32bits的set/reset寄存器(GPIOx_BSRR),1个16bits的reset寄存器(GPIOx_BRR)和1个32bits的Lock寄存器(GPIOx_LCKR)。 (一)每一个IO引脚都可以使用软件配置为以下几种模式: 1. 浮空输入 2. 带上拉输入 3. 带下拉输入 4. 模拟输入 5. 开漏输出——(此模式可实现hotpower说的真双向IO) 6. 推挽
[单片机]
STM32 SPI NSS信号理解和DMA传输遇到的问题
最近做个项目,用到了SPI,遇到一些问题。 SPI,四根线,MISO,MOSI,SCK,和NSS,这其中NSS用起来最容易踩坑。NSS是片选线,是用于选择从器件的引脚,可让SPI主器件与从器件进行单独通信,从而避免数据线上的竞争。 问题1:从机发送数据给主机 要知道,SPI主机发数据,从机去收。但是从机发数据,主机可以不理会。因为主机控制着SCK线,从机若想要发送数据,只能去通知主机来“读”。怎么通知? 从机若有数据要发送给主机,可以用一根 INT 线来通知,拉低这根线,主机检测到 INT线被拉低,就可以发送一个废字节,从而去交换从机要发送的有效数据。因为当主机往DR寄存器里面写数据时,就会自动开启SCK,在SCK的
[单片机]
初识STM32 标准库
CMSIS 标准及库层次关系 因为基于Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难。为了解决不同的芯片厂商生产的Cortex 微控制器软件 的兼容性问题,ARM 与芯片厂商建立了CMSIS 标准(CortexMicroController Software Interface Standard)。 所谓CMSIS 标准,实际是新建了一个软件抽象层。 CMSIS 标准中最主要的为CMSIS 核心层,它包括了: 内核函数层:其中包含用于访问内核寄存器的名称、地址定义,主要由ARM 公司提供。 设备外设访问层:提供了片上的核外外设的地址和中断
[单片机]
STM32的开漏电路与推挽输出
开漏结构 所谓开漏电路概念中提到的“漏”就是指MOS FET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOS FET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示: 图1 组成开漏形式的电路有以下几个特点: 1. 利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。如图1。 2. 可以将多个开漏输出的Pin,连接到一条线上。形成“与逻辑”关系。如图1,当PIN_A、PIN_B、PIN_C任
[单片机]
意法与厦门大学合作研发32位嵌入式系统
微控制器设计开发的领导厂商意法半导体(ST)协同其增值服务商深圳市博巨兴,宣布与厦门大学签订合作协议,成立“ST嵌入式系统联合实验室”,并举行实验室揭牌仪式。意法半导体持续推动校园合作计划,与中国的大学携手开发嵌入式应用技术和培训电子工程专业学生,再迈出重要的一步。
作为32位微控制器的主导厂商之一,意法半导体将向厦门大学提供先进的基于32位ARM Cortex-M3的STM32微控制器及其开发工具,信息科学与技术学院(通信工程系、电子工程系、自动化系、计算机系及智能科学与技术系)的本科生及研究生将参与意法半导体的实际项目的开发。此外,意法半导体将提供所需的全部培训和技术支持,从事教学和学术研究,协助大学院校及产业界培
[医疗电子]