嵌入式Linux编程入门与开发实例-第11章.pptVIP

嵌入式Linux编程入门与开发实例-第11章.ppt

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
S3C2440A集成的以下片上功能主要包括: 1.2V内核供电,1.8V/2.5V/3.3V存储器供电,3.3V外部I/O供电具备16KB的I-Cache和16KB DCache/MMU。 外部存储控制器(SDRAM 控制和片选逻辑)。 LCD控制器(最大支持4K色STN和256K色TFT)提供1通道LCD专用DMA 。 4通道DMA 并有外部请求引脚。l???????? 3通道UART(IrDA1.0, 64字节Tx FIFO,和64字节Rx FIFO)。 2通道SPI。 1通道IIC-BUS接口(多主支持)。 1通道IIS-BUS音频编解码器接口。 AC’97解码器接口???????? 兼容SD主接口协议1.0版和MMC卡协议2.11兼容版。 2端口USB主机/1端口USB设备(1.1 版) 4通道PWM定时器和1通道内部定时器/看门狗定时器 8通道10比特ADC和触摸屏接口 具有日历功能的RTC 相机接口(最大4096×4096像素的投入支持。2048×2048像素的投入,支持缩放) 130个通用I/O口和24通道外部中断源。 具有普通,慢速,空闲和掉电模式。 具有PLL片上时钟发生器。 prints(wait time out \n); break; } display(buf); } munmap(buf, vm.size); free(buf); close(fd); [6] 调用VIDIOCSYNC等待一帧截取结束。 if(ioctl(vd-fd, VIDIOCSYNC, frame) 0) { perror(v4l_sync:VIDIOCSYNC); return -1; } 若成功,表明一帧截取已完成。可以开始做下一次 VIDIOCMCAPTURE,frame是当前截取的帧的序号。 视频截取的第二种方法:直接读设备,调用read()函数。 buf=malloc (image_width*image_height*2); if(!buf) { printf(fail to allocate memory for camera!\n); close(fd); munmap(fb_buf,screensize); close(fbfd); return -1; } i=read(fd,buf,image_width*image_height*2); if(i0) { fprintf(stderr, read fail! %d\n, i); break; } 6. 关闭设备 完成视频采集后,需要清理内存和关闭视频设备。 int v4l_close(v4l_device *vd) { free(mmaps); munmap(map,mbuf,size);/*解除内存映射*/ close(/dev/video0, vd -fd);/*关闭视频设备*/ return 0; } 图像数据的连续采集和显示是通过定时器实现的。QTimer类提供了定时器信号和单触发定时器。设置定时启动触发周期,每当定时器时间到就触发一个定时器事件,在事件中调用getCameraImage()函数完成对图像的采集并将图像显示到LCD上。 11.3.4 车载语音电话 1、串口通信 在Linux下对串口设备的操作和操作文件是相同的,使用标准的系统调用来打开、关闭和读写。串口的设置主要是通过设置struct termios结构体的各成员值来实现的。其中常用的关键设置是控制模式和本地模式的设置。 struct termio { unsigned short c_iflag; /*输入模式标志*/ unsigned short c_oflag; /*输出模式标志*/ unsigned short c_cflag; /*控制模式标志*/ unsigned short c_lflag; /*本地模式标志*/ unsigned char c_line; /*行控制*/ unsigned char c_cc[NCC]; /*控制特征*/ } 串口的控制模式设置是最基本的设置,包括波特率、校验位、停止位各项设置。本设计中MC35i使用的控制模式为波特率115200bps、8位数据位,1位停止位,无奇偶校验。语音合成芯片使用的控制模式波特率为9600bps。本地模式的设置使用默认设置。 对于本地模式的设置,Linux下串行设备有三种不同的传输方式,可以根据实际应用中数据的传输特点选择合适的传输方式。下面对串行设备的三种传输方式进行介绍。 (1) 标准输入模式 这是终端设备的标准处理模式。这种方式中,read会传回一整行完整的输入。一行的结束,默认是以NL文件结束符,或是一个行结束字

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档