小言言言言言 发表于 2014-7-16 18:43:02

【人人都会做】基于Cubieboard的音乐——“两只老虎”小demo

本帖最后由 小言言言言言 于 2014-8-28 17:53 编辑

今天在Cubieboard的板子上做了一个“两只老虎”的音乐小demo,so easy!
硬件:Cubie Truck+DVK570

下面是源代码:#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <string.h>

#define PWM_PERIODP5 "echo 1568hz > /sys/class/pwm-sunxi/pwm0/period"
#define PWM_PERIOD1 "echo 2093hz > /sys/class/pwm-sunxi/pwm0/period"
#define PWM_PERIOD2 "echo 2349hz > /sys/class/pwm-sunxi/pwm0/period"
#define PWM_PERIOD3 "echo 2637hz > /sys/class/pwm-sunxi/pwm0/period"
#define PWM_PERIOD4 "echo 2794hz > /sys/class/pwm-sunxi/pwm0/period"
#define PWM_PERIOD5 "echo 3136hz > /sys/class/pwm-sunxi/pwm0/period"
#define PWM_PERIOD6 "echo 3520hz > /sys/class/pwm-sunxi/pwm0/period"
#define PWM_PERIOD7 "echo 3951hz > /sys/class/pwm-sunxi/pwm0/period"
#define PWM_PERIOD20 "echo 20khz > /sys/class/pwm-sunxi/pwm0/period"

int main(int argc, char *argv[])
{
      int i;

      printf("\n");
      printf("############## music #############\n");
      printf("\n");

         system(PWM_PERIOD1);
         usleep(500*500);
         system(PWM_PERIOD2);
         usleep(500*500);
         system(PWM_PERIOD3);
         usleep(500*500);
         system(PWM_PERIOD1);
         usleep(500*500);

         system(PWM_PERIOD1);
         usleep(500*500);
         system(PWM_PERIOD2);
         usleep(500*500);
         system(PWM_PERIOD3);
         usleep(500*500);
         system(PWM_PERIOD1);
         usleep(500*500);

         system(PWM_PERIOD3);
         usleep(500*500);
         system(PWM_PERIOD4);
         usleep(500*500);
         system(PWM_PERIOD5);
         usleep(1000*500);

         system(PWM_PERIOD3);
         usleep(500*500);
         system(PWM_PERIOD4);
         usleep(500*500);
         system(PWM_PERIOD5);
         usleep(1000*500);

         system(PWM_PERIOD5);
         usleep(500*250);
         system(PWM_PERIOD6);
         usleep(500*250);
         system(PWM_PERIOD5);
         usleep(500*250);
         system(PWM_PERIOD4);
         usleep(500*250);
         system(PWM_PERIOD3);
         usleep(500*500);
         system(PWM_PERIOD1);
         usleep(500*500);

         system(PWM_PERIOD5);
         usleep(500*250);
         system(PWM_PERIOD6);
         usleep(500*250);
         system(PWM_PERIOD5);
         usleep(500*250);
         system(PWM_PERIOD4);
         usleep(500*250);
         system(PWM_PERIOD3);
         usleep(500*500);
         system(PWM_PERIOD1);
         usleep(500*500);

         system(PWM_PERIOD3);
         usleep(500*500);
         system(PWM_PERIODP5);
         usleep(500*500);
         system(PWM_PERIOD1);
         usleep(1000*500);

         system(PWM_PERIOD3);
         usleep(500*500);
         system(PWM_PERIODP5);
         usleep(500*500);
         system(PWM_PERIOD1);
         usleep(1000*500);

         system(PWM_PERIOD20);
         usleep(500*500);

         return 0;
}
演示效果:http://www.meipai.com/media/65895457
是不是很简单呢?大家可以找一个简单的乐谱,来调一首自己喜欢的音乐~
另附一份音阶频率表:http://wenku.baidu.com/view/b3921b22192e45361066f5b3.html?re=view

sunbeyond 发表于 2014-7-16 22:11:33

头像是本人吗??

lknlfy 发表于 2014-7-17 08:18:28

sunbeyond 发表于 2014-7-16 22:11 static/image/common/back.gif
头像是本人吗??

你觉得有可能吗?

SKY000 发表于 2014-7-17 09:22:18

这妹子不简单,来首克罗地亚狂想曲:lol:lol

小言言言言言 发表于 2014-7-17 09:32:23

sunbeyond 发表于 2014-7-16 22:11 static/image/common/back.gif
头像是本人吗??

这个不是重点~

小言言言言言 发表于 2014-7-17 09:32:42

lknlfy 发表于 2014-7-17 08:18 static/image/common/back.gif
你觉得有可能吗?

我也觉得不可能~;P

小言言言言言 发表于 2014-7-17 09:33:35

SKY000 发表于 2014-7-17 09:22 static/image/common/back.gif
这妹子不简单,来首克罗地亚狂想曲

:)又来坑我~果断拉出去枪毙5分钟~

aaron 发表于 2014-7-17 09:45:32

好想听听小平果,:)

cb_100ask 发表于 2014-7-17 09:48:48

赞个。。Cubie论坛一直这么火。100ask要这么就好了 :lol

sunbeyond 发表于 2014-7-17 18:03:37

aaron 发表于 2014-7-17 09:45 static/image/common/back.gif
好想听听小平果,:)

小苹果已经有了。
页: [1] 2
查看完整版本: 【人人都会做】基于Cubieboard的音乐——“两只老虎”小demo