吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1502|回复: 11
收起左侧

[学习记录] stm32,蜂鸣器放歌

  [复制链接]
vtor 发表于 2022-10-15 19:15
蜂鸣器放歌-污钞vtor
污钞vtor

【00】序
学习江科大自化协的pwm输出逻辑
https://www.bilibili.com/video/BV1th411z7sn?p=15
配合前面的时间片轮询,用逻辑分析仪精确确定频率
演示视频,孙楠韩红-美丽的神话
https://www.bilibili.com/video/BV1Z44y1f7pX
程序比较简单,就不进行讲解。
00-b站演示视频.png
00-江科大自化协参考视频.png
【01】配置频率
使用stm32定时器4通道3输出不同频率的pwm
配置如图,psc为1-1,arr为72-1,pulse为36
// 时钟频率为72000000
// arr为72 - 1,// cnt为36,占空比稳定在50%
// 根据arr调整频率,freq = SysFreq / (arr + 1) / (psc + 1)
// 所以psc = SysFreq / (arr + 1) / freq - 1
//        = 72000000 / 72 / freq - 1
//        = 1000000 / freq - 1
// 因为psc是short类型,所以最低频率为20Hz
后来使用逻辑分析仪,确定频率正确!!!
01-cube配置指定频率.png
01-逻辑分析仪抓频率.png
【02】配置音调
https://zhIDAo.baidu.com/question/1929397911420653787.htm
分出  静音          低八度      中八度        高八度
           0              1~7       11~17          21~27
实现BEEP_PlayTone函数
ToneNode
前面数据表示音阶,后面数据表示节拍数
02-配置音调.png
【03】演奏歌曲
使用ToneNode组成歌曲
使用pCurMusic指向要演奏的歌曲
使用pCurTone指向正在演奏的音符
初始化时,启动pwm输出
新建时间片,载入轮询队列,开始放歌
03-演奏歌曲.png
【04】美丽的神话曲谱
04-美丽的神话谱.png

[C] 纯文本查看 复制代码
short musicShenHua[]={
		L0,4,
		L6,4,M3,4,L7,8,L0,2,
		L6,2,M1,2,M2,3, M1,1,M3,8,L0,2,
		L6,4,M6,4,M5,2,M6,2,M5,2,M2,2,M3,1,M4,2,M3,13,L0,6,
		L6,4,M6,4,M5,2,M2,2,M3,2,M4,2,M3,8,M1,8,L0,2,
		L6,4,M3,4,M2,6,L7,4,L6,16,L0,8,

		L6,4,M3,4,L7,8,L0,2,
		L6,2,M1,2,M2,3, M1,1,M3,8,L0,2,
		L6,4,M6,4,M5,2,M6,2,M5,2,M2,2,M3,1,M4,2,M3,13,L0,6,
		L6,4,M6,4,M5,1,M2,1,M3,3,M4,3,M3,4,M2,4,M1,8,L0,2,
		L6,4,M3,4,M2,6,L7,4,L6,12,L0,8,

		L6,2,L7,2,M1,2,M2,2,M3,2,M1,2,L7,4,L5,4, L0,1, L6,2,M1,2,M2,3,M3,3,M3,4,L0,2,
		L6,2,L7,2,M1,2,M2,2,M3,2,M1,2,L7,4,L5,4, L0,1, L6,2,M1,2,M2,3,L7,3,M1,4,L0,2,
		L6,2,L7,2,M1,2,M2,2,M3,2,M1,2,L7,4,L5,4, L0,1, L6,2,M1,2,M2,3,M3,3,M3,4,L0,2,
		L6,2,L7,2,M1,2,M2,2,M3,2,M1,2,L7,4,L5,4, L0,1, L6,2,M1,2,M2,3,L7,3,M1,4,L0,2,

		M1,1,M1,1,M2,2,M3,2,M1,2,L7,4,L5,4, M1,4,L7,4,L5,6, L0,1, L7,4,L6,8,L0,8,
		L0,1,L0,1,
};

struct ToneNode *pCurMusic = NULL;
struct ToneNode *pCurTone = NULL;

fsc_2022_1094_封面___.png

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
maozheng110 + 1 + 1 我很赞同!
wezve + 1 技术活

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wkdxz 发表于 2022-10-15 21:09
技术贴,顶一个!
头像被屏蔽
xiadongming 发表于 2022-10-15 21:15
头像被屏蔽
w780628d 发表于 2022-10-15 21:55
wezve 发表于 2022-10-15 22:43
技术活,当赏
三国三 发表于 2022-10-16 09:06

技术贴,顶一个!
wxl103010 发表于 2022-10-17 09:06
人才啊,不过好多年没过蜂鸣器响了,现在用的都是笔记本了。嗯,除了音箱耳机外,也没别的能响了
 楼主| vtor 发表于 2022-10-17 09:24
wxl103010 发表于 2022-10-17 09:06
人才啊,不过好多年没过蜂鸣器响了,现在用的都是笔记本了。嗯,除了音箱耳机外,也没别的能响了

我这个,使用微控制器mcr stm32进行控制的
不适用于电脑
yu13798976656 发表于 2022-10-17 09:25
牛逼,想当初毕业设计用smt32搞个万年历都搞了大半年
 楼主| vtor 发表于 2022-10-17 09:29
yu13798976656 发表于 2022-10-17 09:25
牛逼,想当初毕业设计用smt32搞个万年历都搞了大半年

有没有可能,
我也学了大半年
只是恰好在这个时间发出帖子
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 06:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表