发新帖本帖赏金 10.00元(功能说明)我要提问
返回列表
打印
[活动]

基于i.MX6的电梯视频显示屏开发

[复制链接]
236|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
 i.MX6超强功能处理器,支持单核,双核和四核,同时支持高清编解码两路高清视频播放:两路720P高清视频播放(同步或者异步)。 ubuntu12.04操作系统:广泛应用的Ubuntu12.04操作系统,直接安装已有的Ubuntu12.04应用软件即可。用IMX6Q的硬件编解码单元VPU对视频进行H.264编码保存,搭建嵌入式FTP服务器提供视频下载的传输服务。对运动目标进行检测与跟踪,开发智能检测算法,协助安全人员监控。广告*解码板(核心板+底板)可解1080P高清视频,具有输出HDMI 1080P的功能,只要接上屏线、高压控制线及电源即可直接驱动1366*分辨率768及其以下的屏幕,无须再另外加驱动板;驱动1920x1920 FULL HD LCD 亦只需增加一个HDMI 接口的驱动板即可。此款广告*集3路USB口、SD卡、网络接口、WIFI接口于一体,其优点是可以在局域网内高速传输下载广告内容,方便集中管理,方便及时发布信息。









功能列表:
处理器
Freescale’s i.MX6Q CPUs: ARM Cortex A9, each @ 1GHz
内存
1GB DDR3
存储器
4GB eMMC Flash
存储卡
一个TF卡
HDMI输出
HDMI高清输出,显示支持1920x1080x60HZ ,视频播放最大支持1080P,两路异步视频播放最大支持720P。
LVDS*2
显示支持1920x1080x60HZ ,视频播放最大支持1080P,,两路异步视频播放最大支持720P。
网络
10M/100M/1000M以太网
电源管理
集成电源管理,多路电源输出,可动态调节输出电压
USB HOST
USB HOST 2.0
RS232
RS232,调试使用
实时时钟
RTC
环境
0℃-60℃(-40℃-85℃可选)
操作系统
Ubuntu12.04

实物


RS485算法
1 #include <stdio.h>
  2 #include <string.h>
  3 #include <unistd.h>
  4 #include <sys/types.h>
  5 #include <sys/stat.h>
  6 #include <fcntl.h>
  7 #include <termios.h>
  8 #include <errno.h>
  9 #include <poll.h>
10
11 int set_opt(int fd,int nSpeed, int nBits, char nEvent, int nStop)
12 {
13         struct termios newtio,oldtio;
14         if  ( tcgetattr( fd,&oldtio)  !=  0) {
15                 perror("SetupSerial 1");
16                 return -1;
17         }
18         bzero( &newtio, sizeof( newtio ) );
19         newtio.c_cflag  |=  CLOCAL | CREAD;
20         newtio.c_cflag &= ~CSIZE;
21
22         switch( nBits )
23         {
24                 case 7:
25                         newtio.c_cflag |= CS7;
26                         break;
27                 case 8:
28                         newtio.c_cflag |= CS8;
29                         break;
30         }
31
32         switch( nEvent )
33         {
34         case 'O':
35                 newtio.c_cflag |= PARENB;
36                 newtio.c_cflag |= PARODD;
37                 newtio.c_iflag |= (INPCK | ISTRIP);
38                 break;
39         case 'E':
40                 newtio.c_iflag |= (INPCK | ISTRIP);
41                 newtio.c_cflag |= PARENB;
42                 newtio.c_cflag &= ~PARODD;
43                 break;
44         case 'N':
45                 newtio.c_cflag &= ~PARENB;
46                 break;
47         }
48
49         switch( nSpeed )
50         {
51                 case 2400:
52                         cfsetispeed(&newtio, B2400);
53                         cfsetospeed(&newtio, B2400);
54                         break;
55                 case 4800:
56                         cfsetispeed(&newtio, B4800);
57                         cfsetospeed(&newtio, B4800);
58                         break;
59                 case 9600:
60                         cfsetispeed(&newtio, B9600);
61                         cfsetospeed(&newtio, B9600);
62                         break;
63                 case 115200:
64                         cfsetispeed(&newtio, B115200);
65                         cfsetospeed(&newtio, B115200);
66                         break;
67                 case 460800:
68                         cfsetispeed(&newtio, B460800);
69                         cfsetospeed(&newtio, B460800);
70                         break;
71                 default:
72                         cfsetispeed(&newtio, B9600);
73                         cfsetospeed(&newtio, B9600);
74                         break;
75         }
76         if( nStop == 1 )
77                 newtio.c_cflag &=  ~CSTOPB;
78         else if ( nStop == 2 )
79                 newtio.c_cflag |=  CSTOPB;
80                 newtio.c_cc[VTIME]  = 0;
81                 newtio.c_cc[VMIN] = 0;
82                 tcflush(fd,TCIFLUSH);
83         if((tcsetattr(fd,TCSANOW,&newtio))!=0)
84         {
85                 perror("com set error");
86                 return -1;
87         }
88
89         //      printf("set done!\n\r");
90         return 0;
91 }
92 int main(int argc , char **argv)
93 {
94         int fd,wr_static,ret,nread,count=0;
95         char *buffer = "hello world!\r\n";
96         char buff[8];
97         int i;
98
99         if(argc < 3)
100                 printf("Usage ...");
101
102         printf("\r\n uart__test start\r\n");
103
104         char *uart = argv[1];
105
106         if((fd = open(uart, O_RDWR|O_NOCTTY|O_NDELAY))<0){
107                 printf("open %s is failed",uart);
108         }
109         else {
110                 printf("open %s is success\n",uart);
111                 set_opt(fd, 115200, 8, 'N', 1);
112         }
113
114         if(atoi(argv[2]) == 0)
115         {
116                 while(1){
117                         if (ret == 0)
118                          printf("write time out\n");
119                         else{
120                                 ret = write(fd,buffer, strlen(buffer));
121                                 sleep(1);
122                         }
123             }
124         }
125
126         else if(atoi(argv[2]) == 1)
127         {
128                 memset(buff,0,8);
129                 while(1){
130                         while((nread = read(fd,buff,8))>0){
131                                 //count+=nread;   
132                                 //printf("count = %d\r\n",count);
133                                 printf("read: ");
134                                 for(i = 0; buff[i] != 0; i++)
135                                         printf("%c",buff[i]);
136                                 printf("\r\n");
137                                 memset(buff,0,8);
138                         }
139                 }
140         }
141
142         close(fd);
143         return 0;
144 }






使用特权

评论回复

打赏榜单

21ic小管家 打赏了 10.00 元 2023-05-26
理由:签约作者奖励

相关帖子

发新帖 本帖赏金 10.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:项目经理
简介:资深嵌入式开发工程师

63

主题

120

帖子

2

粉丝