数码相框(LCD、I2C)】的更多相关文章

一:项目介绍    该项目最终实现的功能很简单,手指在触摸屏左滑(下一张图片),右滑(上一张图片)    1.1软硬件资源    硬件:pc机,ARM Cortex-A9开发板    软件:linux 操作系统    1.3项目流程        本项目主要分为三大模块:        一:LCD驱动编写        二:I2C驱动编写        三:使用I2C读取触摸屏上的数据,判断是向左或者向右,再控制lcd进行图片的显示 大体流程图如下所示: 二:项目环境搭建 2.1安装交叉环境编译…
DEMO4,LCD的clk干扰I2C,I2C无法通信. 把排针压下,去掉LCD的CLK,恢复正常.     过程: 直接跳线I2C,没问题.两排针插到一起就无法通信. 一个个的排针去除,最终找到LCD的CLK线.和I2C并排走线,导致干扰.     解决: LCD的CLK上加个电阻,减少干扰.能正常工作了.       其他问题: 开关的插针,顶到了LCD排线,导致两个板一压合,电压变0(电源灯不亮),电流很大(2A以上).短路   -------------------------------…
在上章-学习了数码相框的框架分析(1)了 本章主要内容如下: 1)熟悉ASCII/GB2312/Unicode编码 2)写应用程序,使LCD显示汉字和字符 大家都知道,数据传输的是二进制,而字符和汉字却有各种各样的,所以便通过二进制将字符和汉字编成一个字符集(charset). 1.而字符集(charset)又经历3个阶段 ASCII码 最早的计算机采用ASCII码,一个字节便包括了英文数字这些符号 GB2312编码 由于不支持中文,那时候的常用汉字就有6763个,所以中国人发明了GB2312(…
1. 修改数码相框以自动关闭LCD关闭LCD : 在读取触摸屏的函数中判断:如果15S内无数据,执行: echo auto > /sys/devices/platform/mylcd/power/control打开LCD : 如果有触触摸屏动作发生, 执行: echo on > /sys/devices/platform/mylcd/power/control alarm(时间) : 若干秒后,内核会发出SIGALRM给APP, APP可以提供信号处理函数思路:a. 注册信号处理: signa…
转自:http://blog.csdn.net/wangpengqi/article/details/17711165 1. I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. 因此,I2C总线被非常广泛地应用在EEPROM,实时钟,小型LCD等设备与CPU的接口中. 2. linux下的驱动思路 在linux系统下编写I2C驱动,目前主要有两种方法…
本文转载自:http://blog.chinaunix.net/uid-25014876-id-116926.html linux设备驱动归纳总结(十二):简单的数码相框 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 其实代码很简单,实现lcd驱动,使lcd能够显示图片,当按下按键后切换图片. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx…
1      硬件特性 1.1 概述 I2C总线是由Philips公司开发的两线式串行总线,这两根线为时钟线(SCL)和双向数据线(SDA).由于I2C总线仅需要两根线,因此在电路板上占用的空间更少,带来的问题是带宽较窄.I2C在标准模式下传输速率最高100Kb/s,在快速模式下最高可达400kb/s.属于半双工. 在嵌入式系统中,I2C应用非常广泛,大多数微控制器中集成了I2C总线,一般用于和RTC,EEPROM,智能电池电路,传感器,LCD以及其他类似设备之间的通信. 1.2 I2C总线传输…
I2C只用两条线(SDA和SCL)在连接到总线上的设备之间传送数据.每一个设备都由唯一的地址来识别(不管是微处理器.LCD驱动器.存储器或者键盘接口),并且可以依照设备的功能作为发送器或者接收器使用.LCD驱动器可能只是个接收器,而存储器可以发送和接受数据.除了发送器和接收器,当传送数据时设备还可以作为主机或者从机.主机就是初始化数据传输和产生时钟信号的设备,在那个时刻,任何被寻址的设备都是从机.        I2C总线是一个多主机总线.意味着可以连接多个可以控制总线的设备到总线上.主机通常是…
I2C我是想全面深入的从嵌入式软件工程师的角度做个理解,刚刚还申请了一个专栏,这个好好写.         学习技术从外文文档看起-- 要全面了解I2C,可以从<I2C-bus specification and user manual>看起.I2C最初是由Philips提出的,那么这文档就是由NXP维护的.         I2C总线被全球超过50个公司的1000+个ICs所使用,已然是一个世界标准.另外,I2C总线与多种不同的控制总线是兼容的,比如SMBus(系统管理总线),PMBus(电…
这一篇介绍I2C存储器的使用.主要是介绍AT24CXX系列器件,它分为两类,主要是通过被存储容量地址来分的,一类是AT24C02-AT24C16,它的存储容量从256字节到2048字节.另一类是AT24C32-AT24C1024,容量从4K-128K.(理论上好像可以达到最高512K字节容量,但现在网上最高也就能看到AT24C1024也就是128K字节容量)原理: I2C总线是一种用于IC器件之间连接的二线制总线.它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信…
1 引言 IIC (Inter-Integrated Circuit1总线是一种由Philips公司开发的2线式串行总线,用于连接微控制器及其外围设备.它是同步通信的一种特殊形式,具有接口线少.控制方式简单.器件封装形式小.通信速率较高等优点.在主从通信中,可有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象.笔者在开发基于MPC8250的嵌入式Linux系统的过程中发现I2C总线在嵌入式系统中应用广泛,I2C总线控制器的类型比较多,对系统提供的操作接口差别也很大.与I2C总线相连…
本次实验目的:在指定的EPPROM地址中,写入一数据,延时100MS后,在从该地址中读取,并在LCD上显示. 该实验在前两天就开始做了,一开始并没有成功,读出的一直0x00,当时也调了一会,但跳回到PS2鼠标实验继续调试(因为晚上睡觉会一直想那个问题),当把PS2鼠标实验调通之后,感觉自己对时序图有进一步的好感,写状态机时,我能抓住每一个动作细节,这就是经验吧,然后今天晚上调试I2C实验,直接对着时序图一步一步检查状态机的变动,经过仔细的检查,确实发现不少问题,当场就改掉,检查完一遍后(仅检查了…
本章主要内容如下: 1)矢量字体原理 2)使用freetype库实现矢量字体显示 1. 矢量字体原理 将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储,如下图所示: 由于每个汉字的笔划不一样,从而每个汉字数据长度也不同,所以只能采用索引的方法.因而每种矢量字库都是由两部分组成,一部分是汉字的索引信息,一部分是汉字的字形(glyph)数据. 当显示文字时,便提取出各端点,并通过贝塞尔曲线来连接各个坐标,最后填充封闭空间. 接下来便使用freetype库制作矢量字体 2. f…
I2C总线通讯协议 1. I2C总线简介 I2C是Inter-Integrated Circuit的简称,读作:I-squared-C.由飞利浦公司于1980年代提出,为了让主板.嵌入式系统或手机用以连接低速周边外部设备而发展. 1.1 物理接口 I2C总线只使用两条双向漏极开路的信号线(串行数据线:SDA,及串行时钟线:SCL),并利用电阻上拉.I2C总线仅仅使用SCL.SDA两根信号线,就实现了设备间的数据交互,极大地简化了对硬件资源和PCB板布线空间的占用.I2C总线广泛应用在EEPROM…
本章主要内容如下: 1)多行显示 2)居中显示 在上章3.数码相框-通过freetype库实现矢量显示里,我们使用矢量坐标时,该坐标仅仅在原点位置处,所以文字有可能会超出坐标,如下图所示: 既然超出了坐标,会不会被下一行的文字覆盖掉? 答:对于几行同样大的文字而言,不会的. 以 24*24的韦字为例,让它显示在(0,40)处,所以文字的y范围在17~40,如下图所示,发现该文字超过了原点,而上方数据又会空出来一段,就不会覆盖到上一行数据. 对于几行规格大小不同的文字,则有可能会被覆盖.以20*2…
常用链接 我的随笔 我的评论 我的参与 最新评论 我的标签 随笔分类 ARM裸机(13) C(8) C++(8) GNU-ARM汇编 Linux驱动(24) Linux应用编程(5) Makefile Qt基础 Shell脚本语言 uboot 根文件系统(1) 嵌入式Linux(3) 算法与数据结构(7) 随笔档案 2017年3月 (5) 2017年2月 (9) 2016年12月 (10) 2016年11月 (18) 2016年10月 (27) 2016年5月 (1) 2016年4月 (2) 文…
够用的硬件能用的代码使用的教程 (拷贝过来的代码有点乱,请下载附件查看文档) 资料下载地址:https://pan.baidu.com/s/1bHUVe6X6tymktUHk_z91cA 网络上配套STM32开发板有很多LCD例程,主要是TFT LCD跟OLED的.从这些例程,大家都能学会如何点亮一个LCD.但是不知道有多少人会直接使用这些代码,至少我不用,不是不用,而是用不了.这代码都有下面这些问题: 1 分层不清晰,通俗讲就是模块化太差.2 接口乱.其实只要接口不乱,分层就会好很多了.3 可…
Arduino中使用I2C通信可直接调用Wire.h库, 这个库允许Arduino链接其他I2C设备, 链接线有两条, 分别是SDA(数据行)和SCI(时钟线). 各型号Arduino的I2C对应引脚:Arduino Board:I2C / TWI pinsArduino Uno/Ethernet:A4 (SDA), A5 (SCL)Arduino Mega2560:20 (SDA), 21 (SCL)Arduino Leonardo:2 (SDA), 3 (SCL)Arduino Due:20…
I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. 因此,I2C总线被非常广泛地应用在EEPROM,实时钟,小型LCD等设备与CPU的接口中. linux下的驱动思路 在linux系统下编写I2C驱动,目前主要有两种方法,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux下I2C驱动体系结构来完成.下面比较下这两种方法: 第一种方…
文| 谷歌开发人员技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang) 上一讲中.我们说到 Android Things 的 API,以及 Peripheral I/O 设备包括的 API 的类型.可是作为程序猿的我们,怎么理解这些 API 呢? 我们就拿 I2C 的 API 来说吧.看看我们如何在 Android Things 中加入一个 I2C 的设备?首先得知道.I2C 是做什么的?怎么用? 实际上.I2C 是同步的串行通信总线.一般用于控制信号,比方控制 LCD. C…
tiny210V2开发板hdmi输出到10.1寸LCD,无图像... 用tiny210V2开发板的HDMI接口输出到的10.1寸LCD,LCD无任何现象.说明一下我的情况,我的10.1寸屏LCD是HDMI接口的,我用HDMI连接我的笔记本,信号一切输出正常(也就是说笔记本的HDMI输出能点亮我的10.1寸LCD屏),但我用TINY210V2来做,却行不通,LCD上什么都看不到.然后我将tiny210V2连接我的三星液晶电视输出到电视,却是可以的(设置为720P).但当我把HDMI连接线从电视拔到…
前言 主要是想对Linux I2c驱动框架有一个整体的把控,因此会忽略协议上的某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.设备模型.sysfs等也不进行详细说明原理,涉及到i2c协议部分也只会简单带过,因为linux内核里面已经实现了该协议,我们以后并不需要重新实现这些,只需要对协议有个简单的了解.如果有任何错误地方,请指出,谢谢! 注:图片来自互联网 内核版本:2.6.35.6 I2c介绍 I2C是"Inter Integrated Circuit Bus"的缩写,中文译成…
Linux设备驱动程序架构分析之一个I2C驱动实例   转载于:http://blog.csdn.net/liuhaoyutz 内核版本:3.10.1   编写一个I2C设备驱动程序的工作可分为两部分,一是定义和注册I2C设备,即i2c_client:二是定义和注册I2C设备驱动,即i2c_driver.下面我们就以mini2440的I2C设备at24c08 EEPROM为例,介绍如何完成这两个工作. 一.定义和注册I2C设备 步骤1:用i2c_board_info保存I2C设备相关信息 在Li…
本文转载自:http://blog.csdn.net/wangpengqi/article/details/17711165 I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. 因此,I2C总线被非常广泛地应用在EEPROM,实时钟,小型LCD等设备与CPU的接口中. linux下的驱动思路 在linux系统下编写I2C驱动,目前主要有两种方法,一种…
[参考]韦东山 教学笔记 1. 程序框架1.1 触摸屏: 主按线程,通过socket发给显示进程 --------------------------- 封装事件:ts线程 按键线程 --------------------------- 操作系统 封装的数据有:时间类型(点击.上下左右移动)位置速度幅度 1.2 显示 放大(上) 缩小(下) 左边 右边 当前 显示控制 接收sochket libjpeg mmap----------------------------------------内…
http://ardui.co/archives/738 我是潘,曾经是个工程师.这是为 Ardui.Co 制作的 “Arduino 公开课” 系列的入门教程.上一课介绍了I2C 协议连接1602 LCD.现在我们将屏幕升级到更强大的12864 OLED(也称“1306”),让交互界面更加丰富.有任何疑问请在评论区提出,我会逐一回答. 1602 LCD 限制很多,只能显示字符不能绘图,而且每个字符的像素是分隔的,一般用在简单的交互设备上,比如显示电压.温度等.而 12864 OLED,则是一块功…
刚刚接触树莓派,的确很适合用来学习,资料多而且很规范,开发者多,平台统一,很多问题别人都已经解决.…
转载:https://www.cnblogs.com/lifexy/p/8485634.html 在上章-学习了数码相框的框架分析(1)了 本章主要内容如下: 1)熟悉ASCII/GB2312/Unicode编码 2)写应用程序,使LCD显示汉字和字符 大家都知道,数据传输的是二进制,而字符和汉字却有各种各样的,所以便通过二进制将字符和汉字编成一个字符集(charset). 1.而字符集(charset)又经历3个阶段 ASCII码 最早的计算机采用ASCII码,一个字节便包括了英文数字这些符号…
1. IIC转接板介绍 Arduino Uno R3开发板的外部IO口是非常有限的.在驱动LCD1602时,尽管我们的数据线使用了4线,相对于8线方式减少一半,但是在需要外接多种传感器的应用中,4线驱动还是占用了过多的IO.本篇介绍LCD1602的IIC驱动方式,通过IIC转接板使用IIC接口,只占用2个IO口就能驱动LCD1602. IIC「Inter-Integrated Circuit 集成电路总线」是一种串行通信总线,应用于板载低速设备间的通讯.由飞利浦公司开发的这一通讯协议,其目的就是…
linux设备驱动归纳总结(十二):简单的数码相框 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 其实代码很简单,实现lcd驱动,使lcd能够显示图片,当按下按键后切换图片. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 先要说明一下几处地方:…