STM32
直播中

刘刚

7年用户 1000经验值
私信 关注
[问答]

如何利用STM32的DAC去输出正弦波形呢

怎样去使用STM32的PWM模块呢?
如何利用STM32的DAC去输出正弦波形呢?

回帖(1)

蔡明灼

2021-11-15 09:50:47
  一、所需软件安装
  1、UltraEdit
  
  右键运行uedi32.exet即可使用,无需安装步骤。
  二、操作
  2.1 PWM
  1、打开野火配套的试验例程野火指南者103A盘(资料盘)1-程序源码_教程文档1-[野火]《STM32库开发实战指南》(标准库源码)【优先学习】32-TIM—通用定时器2-TIM—通用定时器-4路PWM输出
  
  2、编译后烧录进stm32板中
  3、进行仿真配置
  
  
  
  
  4、点击全速运行
  
  ,随后再停止
  
  ,即可看到波形如下。
  
  
  2.2 DAC
  1)输出一个周期2khz的正弦波(循环)。此波形驱动作用至蜂鸣器或喇叭,会呈现一个“滴…”的单音。
  1、打开野火配套资料里的 38-DAC—输出正弦波工程文件,用matlab打开其中的sinWave.m文件
  
  2、修改代码
  
  
  3、运行
  
  4、打开.c文件
  
  
  5、复制的全部粘贴到 uint16_t Sine12bit 数组中:
  
  6、编译生成hex文件烧录到板子中,将板子PA4或PA5端连接示波器,打开示波器便可观察到正弦波形。
  
  2)将一段数字音频歌曲数据转换为模拟音频波形输出(循环)。
  1、打开Audition,在Audition中打开一首音乐,选取片段新建一个音频文件。
  
  2、保存所截取的片段。
  格式为WAV,采样频率8000Hz,单声道,16bit。
  
  3、将剪辑完成的WAM音频文件用UltraEdit打开。
  
  4、选择复制内容,此处只需要中间一块的内容。
  找到最后一个所选数字,在下方查看列数,右键选择 选择范围,如下图选择所需要的部分,粘贴到txt文本文档中。
  
  5、用UltraEdit打开该文本文档,选择列模式,选择插入,逐列插入0x。
  
  
  6、然后将文本复制进uint16_t Sine12bit[]数组中去,并删掉中括号里面的数据:
  
  7、编译生成hex文件烧录到板子中,将板子PA4或PA5端连接示波器,打开示波器便可观察到所截取音乐片段的模拟音频波形。
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分