返回列表 发新帖我要提问本帖赏金: 10.00元(功能说明)

[活动] 基于i.MX6的电梯视频显示屏开发

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






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

打赏榜单

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

104

主题

191

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部