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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3312|回復(fù): 1
收起左側(cè)

基于S5P6818芯片智能家居程序

[復(fù)制鏈接]
ID:997724 發(fā)表于 2022-5-8 17:32 | 顯示全部樓層 |閱讀模式
當(dāng)用戶(hù)進(jìn)入到系統(tǒng)主界面之后,能夠使用觸摸屏來(lái)實(shí)現(xiàn)智能家居功能模塊的切換以及選擇,控制家庭娛樂(lè)相冊(cè)的顯示切換上下圖像,切換音頻播放,切換視頻播放。整個(gè)項(xiàng)目綜合運(yùn)用了目前主流的嵌入式開(kāi)發(fā)技術(shù),包括linux驅(qū)動(dòng),音視頻開(kāi)發(fā)等等。

#include <stdio.h>//fopen
#include <errno.h>//perror
#include <stdlib.h>//exit
#include <sys/types.h>//open
#include <sys/stat.h>//open
#include <fcntl.h>//open
#include <sys/mman.h>//mmap
#include <linux/input.h>//struct input event
#include <stdlib.h>
#include <strings.h>

int  fd_event0 = 0;
char video_path[100]="/root/smart_home/video_file/1.avi";
char audio_path[100]="/root/smart_home/audio_file/1.mp3";
int  flag=0;

int  open_touch_screen(void);
int  close_touch_screen(void);
int  read_touch_screen_information(int  *x,   int  *y);
int  S5P6818_bmp_24_800_480(const char *path);
int  picture_system(void);
int  main_system(void);
int  pic_circular_spread_right(char *pathname);
int  video_system(void);
int  audio_system(void);
int  play(char *mp3path, int select);
int  stop(int select);
int  cont(int select);
int  quit(int select);
int  next(int select);
int  last(int select);
int  back(void);

int main(int argc, char *argv[])
{
        main_system();
        return 0;
}


int  main_system(void)
{
        int get_x=0, get_y=0;
        char bmp_path[100]="/root/smart_home/images/jiemian.bmp";
    S5P6818_bmp_24_800_480(bmp_path);
      
        open_touch_screen();
      
        while(1)
        {
                read_touch_screen_information(&get_x, &get_y);
                printf("(x,y):(%d,%d)\n", get_x, get_y);
               
                if(get_x>=640&&get_x<=760&&get_y>=35&&get_y<=130){

               picture_system();
                   }
            else if(get_x>=640&&get_x<=760&&get_y>=195&&get_y<=295){

                   video_system();
               }
            else if(get_x>=640&&get_x<=760&&get_y>=300&&get_y<=455)
              {

                  audio_system();
              }
                else{
                   printf("============\n");
                   }
        }
      
        close_touch_screen();
}

int  picture_system(void)
{
        int get_x=0, get_y=0;
        char bmp_path[100]="/root/smart_home/images/001.bmp";
    S5P6818_bmp_24_800_480(bmp_path);
      
        open_touch_screen();
      
        while(1)
        {
                read_touch_screen_information(&get_x, &get_y);
                printf("(x,y):(%d,%d)\n", get_x, get_y);
                if(get_x>=0&&get_x<=310&&get_y>45&&get_y<=480){
                       
               bmp_path[26]=bmp_path[26]-1;
                   if(bmp_path[26]== '0'){
                           bmp_path[26]=  '9';
                   }
                   pic_circular_spread_right(bmp_path);
            }
            else if(get_x>=500&&get_x<=775&&get_y>45&&get_y<=480){
               bmp_path[26]=bmp_path[26]+1;
                   if(bmp_path[26]=='9'){
                           bmp_path[26]='0';
                   }
                   pic_circular_spread_right(bmp_path);
               }
                else if(get_x>755&&get_x<=800&&get_y>=0&&get_y<=45){
                        back();
               }
            else
              {
                   printf("=============\n");
              }
        }
      
        close_touch_screen();
}

int  video_system(void)
{
        int ts_x, ts_y;
        int get_x=0, get_y=0;
        char bmp_path[100]="/root/smart_home/images/video.bmp";
    S5P6818_bmp_24_800_480(bmp_path);
      
        open_touch_screen();
      
        while(1)
        {
                read_touch_screen_information(&get_x, &get_y);
                printf("(x,y):(%d,%d)\n", get_x, get_y);
               
                if(get_x>=290&&get_x<=480&&get_y>=300&&get_y<=480&&flag==0){
                        printf("====play======\n");
               play(video_path,1);
            }
            else if(get_x>=290&&get_x<=480&&get_y>=300&&get_y<=480&&flag==1){
                        printf("====stop======\n");
               stop(1);
               }
            else if(get_x>=290&&get_x<=480&&get_y>=300&&get_y<=480&&flag==2){
                        printf("====continue======\n");
               cont(1);
                }
                else if(get_x>=200&&get_x<290&&get_y>=300&&get_y<=480){
                        printf("====last======\n");
                        last(1);
               }
                else if(get_x>510&&get_x<=610&&get_y>=300&&get_y<=480){
                        printf("====next======\n");
                        next(1);
               }
                else if(get_x>700&&get_x<=780&&get_y>=390&&get_y<=480){
                        quit(1);
                        back();
               }
                else{
                   printf("=============\n");
                   }
        }
      
        close_touch_screen();
}

int  audio_system(void)
{
        int ts_x, ts_y;
        int get_x=0, get_y=0;
        char bmp_path[100]="/root/smart_home/images/music.bmp";
    S5P6818_bmp_24_800_480(bmp_path);
      
        open_touch_screen();
      
        while(1)
        {
                read_touch_screen_information(&get_x, &get_y);
                printf("(x,y):(%d,%d)\n", get_x, get_y);
               
                if(get_x>=370&&get_x<=440&&get_y>=390&&get_y<=480&&flag==0){
                        printf("====play======\n");
               play(audio_path,2);
            }
            else if(get_x>=370&&get_x<=440&&get_y>=390&&get_y<=480&&flag==1){
                        printf("====stop======\n");
               stop(2);
               }
            else if(get_x>=370&&get_x<=440&&get_y>=390&&get_y<=480&&flag==2){
                        printf("====continue======\n");
               cont(2);
                }
                else if(get_x>=290&&get_x<350&&get_y>=390&&get_y<=480){
                        printf("====last======\n");
                        last(2);
               }
                else if(get_x>460&&get_x<=520&&get_y>=390&&get_y<=480){
                        printf("====next======\n");
                        next(2);
               }
                else if(get_x>755&&get_x<=800&&get_y>=0&&get_y<=45){
                        quit(2);
                        back();
               }
                else{
                   printf("================\n");
                   }
        }
      
        close_touch_screen();
}

int back(void)
{
        flag=0;
        main_system();
        return 0;
}

int play(char *mp3path, int select)
{
        char cmd[100]={0};
        switch(select)
        {
                case  1:
                        sprintf(cmd," mplayer  %s -zoom -x 800 -y 385 &",video_path);
                break;
                case  2:
                    sprintf(cmd," madplay  %s  &",audio_path);
                break;
                default:
                break;
        }
        printf("%s\n", cmd);
        system(cmd);
        flag=1;
        return 0;
}

int stop(int select)
{
        switch(select)
        {
                case  1:
                        system("killall -STOP mplayer");
                break;
                case  2:
                    system("killall -STOP madplay");
                break;
                default:
                break;
        }

      
        flag=2;
        return 0;
}

int cont(int select)
{
        switch(select)
        {
                case  1:
                        system("killall -CONT mplayer");
                break;
                case  2:
                    system("killall -CONT madplay");
                break;
                default:
                break;
        }
        flag=1;
        return 0;
}
回復(fù)

使用道具 舉報(bào)

ID:690781 發(fā)表于 2022-11-30 08:44 | 顯示全部樓層
不錯(cuò),多謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线午夜 | 日韩中文字幕在线免费 | 极品久久 | 亚洲成人三级 | 黄视频网站在线 | 欧美 日本 国产 | 亚洲欧美精品久久 | 丝袜 亚洲 欧美 日韩 综合 | 午夜精品在线 | 精品国产一区二区三区性色av | 日本视频一区二区 | 欧美在线 | 亚洲欧洲一区二区 | 色五月激情五月 | 毛片站 | 国产乱码精品一区二区三区五月婷 | 亚洲一二三区精品 | 日韩欧美在线一区二区 | 久久国产婷婷国产香蕉 | 国产成人精品a视频一区www | 91在线视频免费观看 | 人人干人人玩 | 免费三级网 | 亚洲精品二三区 | 欧美精品一二三 | 999热视频| 91色视频在线观看 | 亚洲欧美日韩精品久久亚洲区 | 亚洲欧洲av在线 | 成人精品国产一区二区4080 | 99精品网 | 日本三级黄视频 | 午夜精品一区二区三区在线观看 | 欧美1区2区 | 久久国产精品免费一区二区三区 | 日本激情视频网 | 日韩三级在线 | 成人午夜电影在线观看 | 成人黄视频在线观看 | 中文字幕亚洲精品 | 色片在线观看 |