发新帖我要提问
12
返回列表
打印
[MM32软件]

【MM33 eMiniBoard测评报告】+播放背景音乐的尝试

[复制链接]
楼主: hu9jj
手机看帖
扫描二维码
随时随地手机跟帖
21
touser| | 2020-7-9 08:00 | 只看该作者 回帖奖励 |倒序浏览
hu9jj 发表于 2020-6-8 16:00
下面是本次测试项目的压缩文件包,我已经将其中的I2C读取DS1307日历模块的代码注释了,对LCD5110操作的 ...

谢谢版主的代码分享。         

使用特权

评论回复
22
usysm| | 2020-7-9 08:00 | 只看该作者
      

使用特权

评论回复
23
typeof| | 2020-7-9 08:00 | 只看该作者
见过其他的芯片涉及过。   

使用特权

评论回复
24
uytyu| | 2020-7-9 08:00 | 只看该作者
看着非常高大上的感觉。           

使用特权

评论回复
25
myiclife| | 2020-7-9 08:00 | 只看该作者
hu9jj 发表于 2020-6-8 16:12
程序运行时,按K4键启动播放,播放时绿色LED会亮起,直到播放结束或中断停止,每次取音符和节拍数据时 ...

移位值可以改变音调?  

使用特权

评论回复
26
yujielun| | 2020-7-9 08:01 | 只看该作者
有相关的软件吗?   

使用特权

评论回复
27
jkl21| | 2020-7-9 08:01 | 只看该作者
什么音乐都可以播放吗   

使用特权

评论回复
28
iyoum| | 2020-7-9 08:01 | 只看该作者
           

使用特权

评论回复
29
hu9jj|  楼主 | 2020-7-9 08:30 | 只看该作者
  从7:56到8:01分的短短5~6分钟时间内,5个帐号共回帖21次,够热闹的了,如此狂轰滥炸以致于我有点招架不住。出于礼貌,在此一并作答:这是使用定时器来控制GPIO输出的尝试,之所以说播放背景音乐,是指在主循环中除了定时改变音乐的频率和节拍数据外,不直接参与播放音乐,全部靠定时器完成,这样在主循环中可以处理其他事项。音乐的数据是由频率和节拍(延时)两个 部分组成,按照这个规律可以将其他乐谱写成头文件进行播放。对频率数据左移位或右移位(乘2或者除2),不是改变音阶,而是低8度或者高8度。

使用特权

评论回复
30
1421027452| | 2020-7-9 12:51 | 只看该作者
本帖最后由 1421027452 于 2020-7-9 12:58 编辑

整体来说还是不错的,有几点建议楼主可以考虑一下:
1.···经过三天时间的反复测试,程序基本上达到了预期,只是休止符的节拍延时不正确,尚未找到原因。···
微秒定时器(TImer2)楼主的配置是:Tim2_UPCount_test(2,47);
但是当系统主频为96MHz,楼主想要获得1us的中断,应当配置为:Tim2_UPCount_test(1,47);

2.···只有使用引脚翻转命令才有效,但输出的频率太低,效果很差···
楼主的微秒中断处理IO翻转可以看成是软件方式的PWM,其实改成定时器的PWM硬件输出更加高效精确。

使用特权

评论回复
31
1421027452| | 2020-7-9 12:57 | 只看该作者
整体来说还是不错的,有几点建议楼主可以考虑一下:
1.···经过三天时间的反复测试,程序基本上达到了预期,只是休止符的节拍延时不正确,尚未找到原因。···
微秒定时器(TImer2)楼主的配置是:Tim2_UPCount_test(2,47);
但是当系统主频为96MHz,楼主想要获得1us的中断,应当配置为:Tim2_UPCount_test(1,47);

2.···只有使用引脚翻转命令才有效,但输出的频率太低,效果很差···
楼主的微秒中断处理IO翻转可以看成是软件方式的PWM,其实改成定时器的PWM硬件输出更加高效精确。

使用特权

评论回复
32
hu9jj|  楼主 | 2020-7-9 13:10 | 只看该作者
本帖最后由 hu9jj 于 2020-7-9 13:11 编辑
1421027452 发表于 2020-7-9 12:57
整体来说还是不错的,有几点建议楼主可以考虑一下:
1.···经过三天时间的反复测试,程序基本上达到了预 ...

感谢提出中肯建议,我测试过定时器配置为(1,47),也许是定时时间太短,程序运行不了,改为(2,47)才能正常运行,迫不得已只好采取移位降低数值的方式对应。
也许是我理解不正确,PWM方式只是占空比变化,达不到频率变化的要求吧。

使用特权

评论回复
33
1421027452| | 2020-7-9 13:57 | 只看该作者
hu9jj 发表于 2020-7-9 13:10
感谢提出中肯建议,我测试过定时器配置为(1,47),也许是定时时间太短,程序运行不了,改为(2,47)才能 ...

改变频率可以通过修改定时器的ARR值(AutoReload Rigister)

使用特权

评论回复
34
hu9jj|  楼主 | 2020-7-9 14:04 | 只看该作者
1421027452 发表于 2020-7-9 13:57
改变频率可以通过修改定时器的ARR值(AutoReload Rigister)

    谢谢提示,那天抽空试试看。不过此类电子音乐音质单调,听起来不舒服,实用价值不高,真正要用还是采用音乐IC的方案更好。

使用特权

评论回复
35
凌老师| | 2020-11-10 18:26 | 只看该作者
我来运行试试

使用特权

评论回复
36
lidi911| | 2020-11-10 22:00 | 只看该作者
感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则