在线时间613 小时
UID252169
注册时间2010-12-5
NXP金币0
TA的每日心情 | 开心 2019-2-14 16:49 |
---|
签到天数: 296 天 连续签到: 1 天 [LV.8]以坛为家I
金牌会员
 
- 积分
- 4473
- 最后登录
- 2020-4-14
|
实验五 驱显8位并口的彩色LCD
在看了手册和MBED工程相关的文档后感觉可以走并行输出的并口LCD应用,开始遇到些麻烦——还是对MBED的理解不深——尽管已经知道就像C++一样,先定义对象obj,在设置属性、方法而后使用。本例设置并口输出方面涉及到的文件就一个:BusOut.h,其中的一段开始让人头疼了一下,后来经过实验已经体会了,就是这句:
BusOut(PinName p0, PinName p1 = NC, PinName p2 = NC, PinName p3 = NC,
PinName p4 = NC, PinName p5 = NC, PinName p6 = NC, PinName p7 = NC,
PinName p8 = NC, PinName p9 = NC, PinName p10 = NC, PinName p11 = NC,
PinName p12 = NC, PinName p13 = NC, PinName p14 = NC, PinName p15 = NC);
BusOut(PinName pins[16]);
现在理解是这样的,如果你需要定义一条8位的BUS,那么对象是这样定义的:
BusOut myBus(p0_0,P0_1,P0_2,P0_3,P0_4,P0_5,P0_6,P0_7);
此后,myBus就是你的8位并口数据了,直接赋值即可。
定义16位的[最大就是16位的,如果超出将会报错!],就像如下定义:
BusOut myBus(p0_0,...,P0_28);//里面最多16个P0_xx!!!
需要注意的是有些IO口是不能定义为BUS的,这点需要注意,我在定义过程中就发现P0_10,P0_11就不能作为BUS定义。本实验仅仅是为了学习如何定义并口输出,因此后续的实验就不做了。
下边将8位并口+5根控制线的1.5寸彩色LCD照片放上,仅供证实。
可以感觉的到,LPC824的IO口速度不是够快,在黑白刷屏中就能明显看到清除痕迹,在128X128的彩色中刷屏可以说是0.x秒,大约0.5秒吧——当然是全彩清屏。手册上有Fast BUS,说可以达到访问15MHz的速率,至少目前的状况是远远达不到的128X128X65536色,满屏大约需要4M+/秒,因此虚拟并口的速度不尽人意,但是给了一种并口解决方案。
实在是无法与Freescale的KL[M0系列的]直接IO口驱动来的快速。如果与同类的M0相比,恐怕会输给几乎所有的M0——至少我玩过的M0都比他快的多。
|
-
英文字符刷屏
-
中文字符刷屏
|