查看: 2224|回复: 8

[分享] [YL-KL26Z]用DAC播放声音

[复制链接]
  • TA的每日心情
    奋斗
    2023-9-17 19:57
  • 签到天数: 2310 天

    [LV.Master]伴坛终老

    107

    主题

    4270

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10481
    最后登录
    2023-9-17
    发表于 2015-7-20 22:49:30 | 显示全部楼层 |阅读模式
    本帖最后由 shaoziyang 于 2015-7-20 22:50 编辑

    下面是用YL-KL26Z上的DAC播放声音的例子,可以通过电位器调整声音大小。声音文件来自SAM L21的Sound Player例子。

    1. #include "mbed.h"

    2. // frequency: 16 kHz
    3. #define FREQ 16000

    4. AnalogOut speaker(PTE30);
    5. AnalogIn getVolume(PTE20);

    6. Ticker tic;

    7. float Volume;

    8. /** Embedded waveform table of sound samples to output. */
    9. const uint16_t wav_samples[] = {
    10.         #include "data.x"
    11. };
    12. uint16_t wav_p = 0;
    13. uint8_t k = 1;

    14. void tic_handler() {
    15.         float dat;

    16.         dat = wav_samples[wav_p]<<6;
    17.         dat = dat * Volume;
    18.     speaker.write_u16(dat);
    19.     wav_p++;
    20.     if(wav_p > sizeof(wav_samples)/2)
    21.     {
    22.             k = 1;
    23.             tic.detach();
    24.             wav_p = 0;
    25.     }
    26. }

    27. int main() {


    28.     while (true) {
    29.             if(k)
    30.             {
    31.                     wait(5.0);

    32.                     Volume = getVolume;
    33.                 // attach a function executed each 1/FREQ s
    34.                 tic.attach_us(tic_handler, 1000000.0/(float)FREQ);
    35.             }
    36.     }
    37. }
    复制代码


    SoundPlayer.zip (266.94 KB, 下载次数: 31)

    评分

    参与人数 1NXP金币 +25 收起 理由
    小七 + 25 打赏!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    15290
    最后登录
    1970-1-1
    发表于 2015-7-20 23:10:36 | 显示全部楼层
    讲讲14_16行
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-9-17 19:57
  • 签到天数: 2310 天

    [LV.Master]伴坛终老

    107

    主题

    4270

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10481
    最后登录
    2023-9-17
     楼主| 发表于 2015-7-21 09:12:19 | 显示全部楼层
    本帖最后由 shaoziyang 于 2015-7-21 10:55 编辑

    声音数据文件。来自SAM L21的Sound Player例子,看看代码就知道了。修改声音文件就可以播放不同的声音了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    15290
    最后登录
    1970-1-1
    发表于 2015-7-21 12:45:36 | 显示全部楼层
    shaoziyang 发表于 2015-7-21 09:12
    声音数据文件。来自SAM L21的Sound Player例子,看看代码就知道了。修改声音文件就可以播放不同的声音了。 ...

    定义数组中加include,还第一回遇到,要不是看见你月!学习了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-9-17 19:57
  • 签到天数: 2310 天

    [LV.Master]伴坛终老

    107

    主题

    4270

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10481
    最后登录
    2023-9-17
     楼主| 发表于 2015-7-21 14:22:52 | 显示全部楼层
    lkl0305 发表于 2015-7-21 12:45
    定义数组中加include,还第一回遇到,要不是看见你月!学习了

    任何位置都可以用include,用处就是插入制定的文件内容。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21

    主题

    435

    帖子

    0

    高级会员

    Rank: 4

    积分
    916
    最后登录
    2020-4-8
    发表于 2015-7-31 22:26:57 | 显示全部楼层
    谢谢分享!!!我是初学者飞思卡尔单片机是不是直接控制IO口输出就可以啊?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-9-17 19:57
  • 签到天数: 2310 天

    [LV.Master]伴坛终老

    107

    主题

    4270

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10481
    最后登录
    2023-9-17
     楼主| 发表于 2015-8-1 21:15:31 | 显示全部楼层
    戏如人生 发表于 2015-7-31 22:26
    谢谢分享!!!我是初学者飞思卡尔单片机是不是直接控制IO口输出就可以啊? ...

    这个例程是控制DAC输出,然后才能播放声音的。一般的GPIO不行。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-8-2 14:20:45 | 显示全部楼层
    不知道效果如何? null - 副本 - 副本 - 副本.png null - 副本 - 副本 (2).png null - 副本 - 副本 (3).png null - 副本 - 副本.png null - 副本 (2) - 副本.png null - 副本 (2).png null - 副本 (3).png null - 副本 (4).png null - 副本.png null.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    21

    主题

    435

    帖子

    0

    高级会员

    Rank: 4

    积分
    916
    最后登录
    2020-4-8
    发表于 2015-8-2 20:24:42 | 显示全部楼层
    shaoziyang 发表于 2015-8-1 21:15
    这个例程是控制DAC输出,然后才能播放声音的。一般的GPIO不行。

    好的 谢谢!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-29 21:47 , Processed in 0.195285 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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