久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 基于ARM平臺(tái)的鋼琴游戲 實(shí)現(xiàn)琴鍵按下效果 [打印本頁(yè)]

作者: why684700    時(shí)間: 2017-7-25 15:29
標(biāo)題: 基于ARM平臺(tái)的鋼琴游戲 實(shí)現(xiàn)琴鍵按下效果
效果文件都在文件里,可以下載看看。很全,有興趣就了解下。。

本階段任務(wù)與步驟
================
1,設(shè)置好共享文件夾

2,編譯這些代碼:
   make

3,將編譯好的示例程序piano丟到開(kāi)發(fā)板,觀察運(yùn)行效果
   注意:要將所有的bmp文件也要上傳到開(kāi)發(fā)板(已經(jīng)上傳過(guò)了就不用重復(fù)上傳了)

4,修改piano.c,使得鋼琴12個(gè)琴鍵均能按下去。


單片機(jī)源程序如下:
  1. /***********************************************
  2. //
  3. //  Copyright(C), 2013-2016, GEC Tech. Co., Ltd.
  4. //
  5. //  作者: 林世霖
  6. //  微信公眾號(hào):秘籍酷
  7. //  日期: 2016-6
  8. //
  9. //  描述: 在LCD上顯示音樂(lè)鋼琴的界面
  10. //
  11. //  GitHub: github.com/vincent040
  12. //  Bug Report: 2437231462@qq.com
  13. //
  14. ***********************************************/

  15. #include <stdio.h>
  16. #include <signal.h>
  17. #include <stdlib.h>
  18. #include <unistd.h>
  19. #include <string.h>
  20. #include <syslog.h>
  21. #include <errno.h>
  22. #include <linux/input.h>

  23. #include <fcntl.h>
  24. #include <sys/types.h>
  25. #include <sys/stat.h>
  26. #include <sys/mman.h>
  27. #include <stdbool.h>

  28. #include <linux/fb.h>
  29. #include <sys/mman.h>
  30. #include <sys/ioctl.h>

  31. #include "bmp.h"
  32. #include "ts.h"

  33. int main(int argc, char const *argv[])
  34. {
  35.         // 1,打開(kāi)LCD設(shè)備
  36.         int lcd = open("/dev/fb0", O_RDWR);

  37.         // 2,獲取LCD設(shè)備的參數(shù)
  38.         struct fb_var_screeninfo vinfo;
  39.         ioctl(lcd, FBIOGET_VSCREENINFO, &vinfo);

  40.         // 3,為該LCD設(shè)備映射顯存
  41.         unsigned char *FB;
  42.         FB = mmap(NULL, vinfo.xres * vinfo.yres * vinfo.bits_per_pixel/8,
  43.                                         PROT_READ|PROT_WRITE, MAP_SHARED, lcd, 0);

  44.         // 4,顯示整個(gè)鋼琴的界面
  45.         //    4.1 顯示背景(background.bmp)
  46.         bmp2lcd("background.bmp", FB, &vinfo, 0, 0);

  47.         //    4.2 顯示標(biāo)題欄(bar.bmp)
  48.         bmp2lcd("bar.bmp", FB, &vinfo, 0, 0);

  49.         //    4.3 顯示12個(gè)琴鍵(bar.bmp)
  50.         int i;
  51.         for(i=0; i<12; i++)
  52.         {
  53.                 bmp2lcd("key_off.bmp", FB, &vinfo, 10+65*i, 47);
  54.         }

  55.         //    4.4 顯示LOGO(logo.bmp)
  56.         bmp2lcd("logo.bmp", FB, &vinfo, 214, 355);


  57.         // 5,打開(kāi)觸摸屏設(shè)備,開(kāi)始音樂(lè)鋼琴
  58.         int ts = open("/dev/event0", O_RDWR);
  59.         struct coordinate coor;

  60.         while(1)
  61.         {
  62.                 // 5.1 等待手指觸碰,并順便獲取觸碰點(diǎn)坐標(biāo)(coor.x和coor.y)
  63.                 wait4touch(ts, &coor);

  64.                 // 5.2 根據(jù)coor的坐標(biāo)信息來(lái)更新琴鍵的狀態(tài)
  65.                 bmp2lcd("key_on.bmp", FB, &vinfo,(coor.x-10)/65*65+10, 47);

  66.                 // 5.3 根據(jù)coor的坐標(biāo)信息播放相應(yīng)的琴鍵聲音(暫時(shí)不做)
  67.                

  68.                 // 5.4 等待手指的松開(kāi)
  69.                 wait4leave(ts);

  70.                 // 5.5 將相應(yīng)的琴鍵恢復(fù)彈起的狀態(tài)
  71.                 bmp2lcd("key_off.bmp", FB, &vinfo,(coor.x-10)/65*65+10,  47);
  72.         }
  73.        
  74.         return 0;
  75. }







  76.         // int ts = open("/dev/event0", O_RDWR);
  77.         // struct coordinate coor;

  78.         // while(1)
  79.         // {
  80.         //         // 5.1 等待手指觸碰,并順便獲取觸碰點(diǎn)坐標(biāo)(coor.x和coor.y)
  81. ……………………

  82. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
06實(shí)現(xiàn)琴鍵按下效果.rar (10.25 KB, 下載次數(shù): 38)



作者: zzjay    時(shí)間: 2019-7-4 13:00
最好把仿真文件,程序文件都上傳,文檔中寫(xiě)的都不全





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 伊人久久av| 色婷婷18 | 久久久久国产精品夜夜夜夜夜 | 日韩三级一区 | 成人福利在线观看 | 亚洲欧美日韩色图 | 日本精品在线视频 | 成人av播放 | 日韩黄色大片 | 日本不卡视频在线观看 | 成人三级在线观看 | 亚洲精品久久久久久久久 | 91精品在线播放 | a级片在线免费观看 | 涩涩久久 | 久久久国产视频 | 国产片一区二区 | 色综合视频在线观看 | 四川一级毛毛片 | 国产91精品在线观看 | 91福利网| 国产中文一区 | 欧美视频在线观看一区 | 国产一区二区网站 | 日本免费在线 | 日韩综合久久 | 午夜av福利 | 中文字幕在线不卡 | 久久久精品一区二区 | 一级片在线免费观看 | 在线中文字幕网站 | 欧美在线视频免费 | 黄色三级av| 性色av网站| 毛片毛片毛片毛片毛片毛片 | 国产成人在线免费观看 | www久久| 国产91在线播放 | 日本欧美久久久久免费播放网 | 伊人影院久久 | 天天曰天天操 |