- 博客(15)
- 资源 (29)
- 收藏
- 关注
原创 LCD(四)平台设备驱动之 platform_driver
S5PV210 LCD platform_driver 的实例 s3cfb_driver 定义在 drivers/video/samsung/s3cfb.c中static struct platform_driver s3cfb_driver = { .probe = s3cfb_probe, .remove = __devexit_p(s3cfb_remove), .driver = {...
2018-04-27 20:42:23 382
原创 LCD(四)平台设备驱动之 platform_device
一 、重要结构体1、fb_info结构体struct fb_info { int node; int flags; struct mutex lock; /* 用于open/release/ioctl的锁*/ struct fb_var_screeninfo var;/*LCD可变参数*/ struct fb_fix_screeninf...
2018-04-24 23:42:37 710
原创 RGB颜色对照表
RGB颜色对照表 #FFFFFF #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA #FFFAF0 #FFFACD #FFF8DC #FFF68F #FFF5EE #FFF0F5 #FFEFDB #FFEFD5 #FFEC8B #FFEBCD #FFE7BA #FFE4E1 #FFE4C4 #FFE4B5 #FFE1FF #FFDEAD #FFDAB9 #FFD700 #FFD39B...
2018-04-19 21:14:16 1434
转载 TQ210显示 字母 ,汉字,方框, 宋体,图片
在开发板上显示字母,汉字,方框,宋体等。 我这里大部分都是参考韦东山老师讲的。 这里只是为了测试lcd驱动并且从新总结下。英文字母和汉字: 利用点阵画点。画线和画框: 调用画线函数宋体: 利用freetype 库图片: 利用libjpeg 压缩jpeg 图片显示。完整代码下载// lcd_test.c // 显示 横线 竖线 框 字符 汉字 字体 图像等#include <sys/mma...
2018-04-18 20:18:51 381
原创 LCD(三)驱动分析
一、框架分析①内核装载LCD驱动模块:设置并注册fb_info结构,初始化LCD硬件。②APP打开LCD设备,获取设备文件,根据设备文件进行读写显存。③在内核中,根据主设备号和次设备号定位一个fb_info结构,如果应用层的系统调用是读操作则调用fb_ops中对应的操作函数,写操作也是一样。二、帧缓冲子系统(Framebuffer) Linux下可支持多个帧缓冲设...
2018-04-17 19:21:48 734
原创 Lcd(一)显示原理
一、LCD控制原理S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口。类型:1、STN(超扭曲向列),它的特点是功耗低,但亮度不足,响应时间长;(1602那种类型的)2、TFT(薄膜晶体管),它的特点是响应时间短,画面清晰,但功耗稍高,(自己实验用的应该是这个类型的,这个类...
2018-04-15 20:49:57 27378 4
原创 Lcd(二)添加至内核
一、LCD驱动框架#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/string.h>#include <linux/mm.h>#include <linux/slab.h>#inclu...
2018-04-15 19:53:39 720
转载 static全局变量与普通全局变量的区别?static局部变量与普通局部变量的区别?static全局函数与普通全局函数的区别?
1.static全局变量只初使化一次,防止在其他文件单元中被引用;2.static局部变量只被初始化一次,下一次依据上一次结果值;3.static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝C语言中讲讲static变量和static函数有什么作用static关键字有两种意思,你看上下文来判断1,表示变量是静态存储变量表示变量存放在静态存储区.2,表示...
2018-04-12 09:05:56 562
原创 PWM脉冲宽度调制(一)
一、PWM模式脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。PWM本质是一个定时器,ARR寄存器中填充一个最大值,计数器从0计数至ARR,然后再跳变至0开始重新计数。CCRx寄存器中存放一个阈值,当计数器中的值小于CCRx时,PWM输出低电平,当大于CCRx时输出高电平。二、用途可以实现调节LCD的背光度、蜂鸣器的...
2018-04-10 21:17:38 12022
原创 SPI总线(二)SPI子系统
一. 模式特点三线:SS、CLK、MOSI和MISO同一根数据线,半双工四线:SS、CLK、MOSI、MISO,全双工CPOL:时钟极性, =0 时钟空闲时 低电平 =1 时钟空闲时 高电平CPHA:时钟相位, =0 数据将在时钟第1个边沿进行读取 =1 数据将在时钟第2个边沿进行读取二. SPI驱动模型:SPI核心层、SPI主机控制器层、SPI(从机)设备驱动层。1. SPI核心SPI...
2018-04-07 23:10:24 615
原创 I2C总线(四)I2C子系统(1)
1. I2C子系统架构1.1 I2C核心I2C总线和I2C设备驱动的中间枢纽,有两个作用:1)提供了I2C总线驱动和设备驱动的注册、注销方法等。2)使I2C设备驱动可以访问使用I2C控制器驱动提供的向I2C总线传递数据所使用的方法、函数1.2 I2C总线驱动(控制器驱动 platform bus)对I2C控制器的驱动实现,控制器可以在CPU外部,也可以集成在CPU内部(I2...
2018-04-07 22:09:57 392
原创 内核驱动 - Platform bus平台总线
一、概念Platform bus平台总线,是一种虚拟总线,采用总线的模型对设备与驱动进行管理,提高程序的可移植性。Platform bus平台总线 驱动和设备匹配方法:1. 通过id_table(芯片型号)进行匹配,但是大多数设备都没有id_table(芯片型号)2. 通过设备->name 与 驱动->name进行匹配二、平台设备平台设备使用struct platform_device...
2018-04-02 21:50:21 627
原创 内核驱动 - 总线设备驱动
一、总线设备驱动模型二、总线1、总线描述在 Linux 内核中, 总线由 bus_type 结构表示,定义在 <linux/device.h>struct bus_type {const char *name; /*总线名称*/int (*match) (struct device *dev, structdevice_driver *drv); /*驱动与设备的匹配函数*/………}i...
2018-04-02 21:05:23 398
原创 内核驱动 - 阻塞型驱动
1、定义“等待队列头部” wait_queue_head_t key_q; 2、初始化“等待队列头部” init_waitqueue_head(&key_q);3、等待事件发生 wait_event(key_q, key_num);4、唤醒等待事件 wake_up(&key_q);查询按键状态key.c#include <linux/module.h&...
2018-04-01 13:29:05 339
RX8025驱动-STM+Linux
2019-01-27
freetype-2.4.10.tar.bz2 安装包
2018-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人