国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

這篇具有很好參考價值的文章主要介紹了粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

項目設計開發(fā)環(huán)境:

(1)VMware Workstation Pro軟件

(2)ubuntu12 .04 (能交叉編譯就行)

(3)SecureCRT?

(4)代碼編譯器(notepad++/Visual Studio Code)

項目功能描述:

(1)幻燈片:開始進行圖片幻燈片顯示,結束后進入RFID刷卡開鎖界面。

(2)RFID:刷卡成功和刷卡失敗兩種狀態(tài)(刷卡成功后進入功能選擇界面 )。

(3)功能選擇界面:四個功能——電子相冊、游戲、音樂播放、視頻播放。

(4)電子相冊:手動切換圖片。

(5)游戲:后續(xù)待開發(fā)。

(6)音樂播放:手動切換歌曲,控制播放和暫停功能。

(7)視頻播放:播放、退出。

設計步驟:

1、使用linux創(chuàng)建共享文件夾

2、程序編寫

3、Linux的使用(交叉編譯)

4、使用SecureCRT傳輸圖片、視頻(可U盤傳輸)

5、程序寫入開發(fā)板

6、項目成果圖:

?文章來源地址http://www.zghlxwxcb.cn/news/detail-478306.html

1、創(chuàng)建共享文件夾

(1)打開虛擬機->菜單->管理->虛擬機設置->選項->共享文件夾->總是啟用->添加。

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?(2)驗證是否創(chuàng)建成功

? ? 快捷鍵:Ctrl+ALT+T 進入命令輸入窗口,然后輸入cd?空格?/mnt/hgfs?回車,再輸入ls?回車。

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

?2、程序編寫

查看man手冊:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)?man 2 手冊函數概述:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

頭文件:

#ifndef _MAIN_H_//頭文件名字大寫
#define _MAIN_H_
//看一下這個頭文件有沒有被重復包含

//頭文件
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <linux/input.h>
#include <sys/mman.h>
#include <strings.h>

#include <stdlib.h>   //man 3 system ,man手冊第三本書
#include "rfid.h"    //

//全局變量
int x,y;//這是觸摸屏的坐標變量
int fd;//觸摸屏在文件描述符
int lcd_fd;//LCD的文件描述符
int * FB;//內存映射的起始指針
int num;
int ret;
int RD;
int yy;
int aa;
int dd;

//函數聲明
int project_init();//初始化函數
void touch_init();//觸摸屏函數
void project_show();//主機界面
void project_delete();//釋放銷毀函數
int bmp_show(char *phtname);//顯示圖片函數
int system(const char *command);//
//結構體定義
//定義一個結構體存儲讀取觸摸屏的信息
struct input_event touch;
int open_serial(void);
int PiccRequest(int fd);
int init_mplayer();
//宏定義
//聯(lián)合體,枚舉

#endif//結束

?

部分程序:


//主要程序
void project_show()
{
	//幻燈片
	bmp_show("/cry/hzw1.bmp");//刷海賊王1圖片
	sleep(2);
	bmp_show("/cry/hzw2.bmp");//刷海賊王2圖片
	sleep(2);
	bmp_show("/cry/hzw3.bmp");//刷海賊王3圖片
	sleep(2);
	bmp_show("/cry/hzw4.bmp");//刷海賊王4圖片
	sleep(2);
	bmp_show("/cry/hzw5.bmp");//刷海賊王5圖片
	sleep(2);
    bmp_show("/cry/hzw6.bmp");//刷海賊王6圖片
    sleep(2);
	bmp_show("/cry/skks.bmp");//刷刷卡開鎖圖片
    sleep(2);
	while(1)
	{ 
        ret = PiccRequest(RD);
		if(ret == -1)  //若是請求超時退出,必須要關閉串口后,重新打開才能再次讀取數據
		{
			usleep(500000);
			close(RD);
			//打開串口文件
			RD = open_serial();
			/*初始化串口*/
			init_tty(RD);
			timeout.tv_sec = 1;
			timeout.tv_usec = 0;
			continue;
		}	

		else//(ret == 0)
		{
			printf("ok!\n");
		}

		//發(fā)送B命令 和獲取卡號
		ret = PiccAnticoll(RD);

		//若獲取的cardid為0,或獲取id超時,則需重新發(fā)送'A'命令
		if(cardid == 0 || ret == -1) continue; 

		else if(ret == 0)
		{
			printf("card ID = %x\n", cardid);  //打印cardid號
			usleep(500000);
			//break;
		}
	    //close(RD);
	    if (cardid==0x6333f3ad)  //選擇固定卡號
		{
            printf("刷卡成功\n");
			bmp_show("/cry/skcg.bmp");//刷卡成功
			sleep(3);
			bmp_show("/cry/xuanzhe.bmp");//刷卡成功
			while (1)
			{
		             touch_init();//觸摸屏在初始化
		             if(touch.type == EV_KEY && touch.code == BTN_TOUCH && touch.value == 0)
		             {
			          printf("(%d,%d)\n",x,y);
			         //界面選擇、界面跳轉

                     //圖片切換
		             if(x>25&&x<340&&y>70&&y<180)
					 {
						while(1)
						{
						touch_init();//觸摸屏在初始化
		                if(touch.type == EV_KEY && touch.code == BTN_TOUCH && touch.value == 0)
		                    {
			                       printf("(%d,%d)\n",x,y);

		                    if(x > 615 && x < 800 && y > 390 && y < 480)
			                    {
				                     num++;
				                      printf("觸碰左邊屏幕");
			                    }
			                if(x > 0 && x < 185 && y > 390 && y < 480)
			                    {
				                  num--;
                                  printf("觸碰右邊屏幕");
			                    }
								if (num==0)
								{
									bmp_show("/cry/hzw11.bmp");//顯示圖片 
								}
					        if(num==1)
					            {
									printf("(%d,%d)\n",x,y);
						           bmp_show("/cry/hzw22.bmp");//顯示圖片
					            }
					        if (num==2)
					            {
									printf("(%d,%d)\n",x,y);
						           bmp_show("/cry/hzw33.bmp");//顯示圖片
					            }
					        if(num==3)
					            {
									printf("(%d,%d)\n",x,y);
						           bmp_show("/cry/hzw44.bmp");//顯示圖片
					            }
				            if(num==4)
					            {
									printf("(%d,%d)\n",x,y);
					             	bmp_show("/cry/hzw55.bmp");//顯示圖片
					            }
					        if(num==5)
					            {
									printf("(%d,%d)\n",x,y);
					            	bmp_show("/cry/hzw66.bmp");//顯示圖片
					            }
								if (num<0){num=5;}
								if (num>5){num=0;}

					        }
					        if(x > 310 && x < 500 && y > 390 && y < 480)  
					            {
					               printf("退出頭像顯示界面");
					               bmp_show("/cry/xuanzhe.bmp");//退出至選擇界面圖片
					               break;
					            }
					    }  
					}

					//播放音樂
					if (x > 450 && x < 730 && y > 290 && y < 400)
					{
						bmp_show("/cry/bofangyingyue.bmp");//顯示播放界面
                         while (1)
						 {
							touch_init();//觸摸屏在初始化
							num=0;
		                if(touch.type == EV_KEY && touch.code == BTN_TOUCH && touch.value == 0)
		                    {
			                 printf("(%d,%d)\n",x,y);
						    
                       if(x > 620 && x < 800 && y > 390 && y <475)
			            {
				                     yy++;
									 printf("觸碰右上角屏幕");
			            }
                         if(x > 29 && x < 190 && y > 390 && y < 475)
			             {
				                  yy--;
                                  printf("觸碰左上角屏幕");
			            }
                         if(yy==1)
					    {
							       system("killall -9 madplay");
						           system("madplay yanyuxingzhou.mp3 &");
					    }
						if (yy==2)
						{
							system("killall -9 madplay");
						    system("madplay GuitarType.mp3 &");
						}
                        if (yy==3)
						{
							system("killall -9 madplay");
							system("madplay dongmian.mp3 &");
						}
                        if (yy<0){yy=3;}
						if (yy>3){yy=0;}

						 if(x > 230 && x < 380 && y >390&& y < 475)//暫停
			              {
		                     system("killall -19 madplay");
			              }

                         if(x > 430 && x < 580 && y > 390 && y < 475)//繼續(xù)
			              {
		                     system("killall -18 madplay");
			              }
						 if(x > 630 && x < 780 && y > 15 && y < 80)//退出
			              {
		                     system("killall -9 madplay");
							 bmp_show("/cry/xuanzhe.bmp");//退出至選擇界面圖片
							 break;
			              } 
					    }
						 }
					}

                   //播放視頻有bug
					if (x > 25 && x < 340 && y > 290 && y < 400)
					{
						int dd =init_mplayer();
                        bmp_show("/cry/chupeng.bmp");//退出至選擇界面圖片
						   while (1)
						 {
							touch_init();//觸摸屏在初始化
		                    if(touch.type == EV_KEY && touch.code == BTN_TOUCH && touch.value == 0)
		                        {
			                        printf("(%d,%d)\n",x,y);
						          if (x > 0 && x < 800 && y > 0 && y < 480)
						           {
					        		 system("mplayer -slave -quiet -input file=/fifo -geometry 0:0 -zoom -x 800 -y 480 sp2.avi &");
						           }
						          if(x > 600 && x < 800 && y > 410 && y < 480)//左下角
			                       {
                                     //write(dd,"quit\n",5);
		                             system("killall -9 mplayer");
							         bmp_show("/cry/xuanzhe.bmp");//退出至選擇界面圖片
							          break;
			                       }
					            }
						 }
					} 

					//游戲假的界面
                     if (x > 450 && x < 730 && y > 70 && y < 180)
					 {
                          //bmp_show("/cry/yxjm.bmp");//游戲開始界面
						  //sleep(2);
						  bmp_show("/cry/.bmp");//游戲界面
                             while (1)
						 {
							touch_init();//觸摸屏在初始化
		                if(touch.type == EV_KEY && touch.code == BTN_TOUCH && touch.value == 0)
		                    {
			                 printf("(%d,%d)\n",x,y);
						     

						 if(x > 600 && x < 800 && y > 410 && y < 480)//左下角
			              {
		                           printf("退出頭像顯示界面");
					               bmp_show("/cry/xuanzhe.bmp");//退出至選擇界面圖片
					               break;
			              }
					        }
						 }

					 }

                     if (x > 25 && x < 340 && y > 410 && y < 480)
					 {
						printf("退出頭像顯示界面");
						bmp_show("/cry/skks.bmp");//刷卡開鎖照片
                        break;  
					 }
					 }
					}
					
		}
		else
		{
			  printf("刷卡失敗\n");
			  bmp_show("/cry/sksb.bmp");//刷卡失敗
			  while (1)
			  {
			     touch_init();//觸摸屏在初始化
		           if(touch.type == EV_KEY && touch.code == BTN_TOUCH && touch.value == 0)
		            {
			              printf("(%d,%d)\n",x,y);
			              //界面選擇、界面跳轉
		
			            if(x > 600 && x < 800 && y > 410 && y < 480)  
			             {
					         printf("退出頭像顯示界面");
					          bmp_show("/cry/skks.bmp");//退出至刷卡開鎖圖片
					          break;
				         }
		            }
		       }
		}
    }
}

3、Linux的使用(交叉編譯)

編譯命令:

arm-linux-gcc *.c -std=c99? ?(默認生成a.out文件)

arm-linux-gcc *.c -o a.out -std=c99 (指定生成a.out文件)

arm-linux-gcc *.c -I../inc -o../bin/main?-std=c99 (指定生成main文件并存在共享文件夾中的bin文件夾中)

arm-linux-gcc *.c? -std=gnu99

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?項目框架:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

?4、使用SecureCRT傳輸圖片、視頻(可U盤傳輸)

綠勾表示連接成功:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

可以將圖片或者文件拖到CRT里面選擇Xmodem發(fā)送:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

查看開發(fā)板有沒有mplayer:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

傳輸文件命令:

rx+空格+你想傳輸的圖片(修改圖片寬度像素800x480,后綴為.bmp格式)

rx+空格+你想傳輸的視頻或者音樂(音頻格式.mp3、視頻格式.avi)

?

U盤傳輸:

默認路徑為:cd + 空格+/mnt/udisk:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

cp+U盤中想傳輸的文件+/想要存在的路徑:

下圖意思是拷貝hzw1.bmp文件到根目錄文件中的cry文件夾中

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?查看當前路徑或文件夾下有什么文件命令: ls粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

調成中文字符:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

5、程序寫入開發(fā)板

把交叉編譯生成的a.out文件或main等文件拖到 SecureCRT中點擊發(fā)送即可。

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

?

6、項目成果圖:

粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)

源碼關注后私聊!?。?/p>

?

?

?

到了這里,關于粵嵌Gec6818---小項目功能實現(xiàn)(RFID+圖片顯示+音樂+視頻)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 粵嵌 GEC-6818 藍牙智能家庭影音 arm開發(fā)記錄

    粵嵌 GEC-6818 藍牙智能家庭影音 arm開發(fā)記錄

    注意:未經允許不得轉載,引用請注明出處 文件操作:創(chuàng)建、刪除、復制、移動 環(huán)境:VMware15.5,ubantu16.04,串口驅動HI-340,secureCRT 設置共享文件夾,設置后ubantu系統(tǒng)和windows系統(tǒng)可以共享使用該文件夾里面的內容。 1.gcc編譯:將c文件進行編譯 2.交叉編譯:將c文件編譯成arm文

    2024年01月22日
    瀏覽(95)
  • 6.串口通信和傳感器的使用----粵嵌gec6818開發(fā)板上實現(xiàn)智能家居(光照氣度,壓強,海拔,濕度,溫度達到臨界值蜂鳴器自動警報等)

    6.串口通信和傳感器的使用----粵嵌gec6818開發(fā)板上實現(xiàn)智能家居(光照氣度,壓強,海拔,濕度,溫度達到臨界值蜂鳴器自動警報等)

    串口是一種簡單的通信接口,也是單片機中最常用,最簡單的通信方式 通常傳感器都是采用串口作為與上位機的通信接口 ARM板上提供了三個可以外接傳感器的串口接口,位于開發(fā)板的右上角, 從上到下分別是: ? 串口號 串口驅動設備文件名 ? CON2 “/dev/ttySAC1” ? CON3 “

    2024年02月16日
    瀏覽(253)
  • 基于6818粵嵌開發(fā)板的2048游戲項目

    基于6818粵嵌開發(fā)板的2048游戲項目

    小白筆記 目錄 前言 一、lcd.c代碼 lcd屏幕初始化 在lcd屏幕上任意一點顯示顏色 ?關閉lcd屏幕 lcd.h 二、bmp.c代碼 bmp格式 bmp圖片讀取 bmp.h 三、work.c部分源碼 觸摸屏 2048方塊移動算法 在隨機位置上生成2或者4 繪出4*4矩陣 四、流程框圖和界面功能描述 板子是6818粵嵌開發(fā)板,為8

    2024年02月01日
    瀏覽(56)
  • GEC6818開發(fā)板JPG圖像顯示,科大訊飛離線語音識別包Linux_aitalk_exp1227_1398d7c6運行demo程序,開發(fā)板實現(xiàn)錄音

    GEC6818開發(fā)板JPG圖像顯示,科大訊飛離線語音識別包Linux_aitalk_exp1227_1398d7c6運行demo程序,開發(fā)板實現(xiàn)錄音

    體積小,使用到數據結構里面的 霍夫曼樹(哈夫曼樹) 對數據進行壓縮 1.對jpegsrc.v8c.tar.gz進行arm移植 移植方式如下: 1.將jpegsrc.v8c.tar.gz解壓縮到ubuntu ~ 2.進入~/jpeg-8c對jpeg庫進行配置 3.編譯 4.安裝,將動態(tài)庫存放到 /home/gec/armJPegLib 5.清空編譯記錄 6.自己查看下 /home/gec/armJPegLib目

    2024年01月17日
    瀏覽(25)
  • LCD(GEC6818)

    此篇博客是基于GEC6818開發(fā)板使用 1、液晶屏的基本概念 像素:屏幕上顯示顏色的最小單位,英文叫pixel。注意,位圖(jpg,bmp等格式的常見圖片)也是由一個個的像素點構成的,跟屏幕的像素點的概念一樣。原理上講,將一張位圖顯示到屏幕上,就是將圖片上的像素點一個個

    2024年02月09日
    瀏覽(22)
  • 基于GEC6818的觸摸屏

    基于GEC6818的觸摸屏

    連接操作系統(tǒng)的輸入設備,可不止一種,也許是一個標準PS/2鍵盤,也許是一個USB鼠標,或者是一塊觸摸屏,甚至是一個游戲機搖桿,Linux在處理這些紛繁各異的輸入設備的時候,采用的辦法還是找中間層來屏蔽各種細節(jié),請看下圖: 在Linux的內核中,對輸入設備的使用,實際

    2024年02月05日
    瀏覽(22)
  • 基于GEC6818開發(fā)板的相冊

    1.圖片的顯示 2.上滑,下滑,左滑,右滑切換圖片 3.幻燈片播放相冊 4.顯示圖片的縮略圖 pic.h main.c 獲取滑動方向,控制圖片切換 幻燈片播放 保存圖片到鏈表 顯示圖片 觸屏判斷

    2024年02月12日
    瀏覽(23)
  • GEC6818科大訊飛離線語音識別

    GEC6818科大訊飛離線語音識別

    在下載SDK時需要注意選擇Linux的版本!! 在官網下載離線語音的包,解壓后可以得到下面的一些文件夾: 解壓后你需要知道自己命令放在下面的文件夾中 關于Make file文件: 關于asr_offline_sample.c文件: asr_offline_sample.c 文件是我們更改為自己的邏輯的文件,但是也不需要都了解

    2024年01月17日
    瀏覽(26)
  • 基于GEC6818的智能火鍋點餐系統(tǒng)

    基于GEC6818的智能火鍋點餐系統(tǒng)

    本次項目開發(fā)環(huán)境:gec6818,QT5.14.2,SecureCRT。 所使用的相關技術:c/s架構,STL庫,C++封裝,標準化代碼編寫 實現(xiàn)的功能:用戶登錄頁面,食品分區(qū)在不同頁面,用戶點餐頁面,用戶買單頁面,數據整合并發(fā)送至后臺,后臺成功接受數據,返回主頁面。 1、gec6818開發(fā)板的特點

    2024年02月12日
    瀏覽(15)
  • 粵嵌實習智能家居day5--基于6818開發(fā)板

    # 傳感器數據的實時獲取及實時顯示 ? ? 接線方式: ? ? ? ? ARM板 ? ? ? ? ? ? ? ? ? ?GY39 ? ? ? ? Vcc 接電源 ? --------- ? Vcc ? ? ? ? GND 接地 ? ? -------- ? ?GND ? ? ? ? TX ?發(fā)送數據線 -------- ? RX(DR) ? ? ? ? Rx ?接收數據線 -------- ? Tx(CT) ? ? ? ? 傳感器和開發(fā)板的通信

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包