2011-06-21 22:04:54

LCD连接好了,读id,不成功。说明配置引脚或读写时序不对。
原来是软件引脚配置出错。
应该用如下。
#define LCD_CS   {3<<30,'E',PIO_OUTPUT_0,
PIO_PULLUP,1<<30,1<<15}
    rGPACON&=~mask;
    rGPACON|=PullUpmask;

mask是3<<30,PullUpmask是1<<30.

我一开始用的如下
#define LCD_CS   {1<<30,'E',PIO_OUTPUT_0,
PIO_PULLUP,1<<30,1<<15}
    rGPACON&=~mask;
    rGPACON|=PullUpmask;

mask是1<<30,PullUpmask是1<<30.
现在想想一字之差,就差那么远。应该控制一个硬件是2个bit组合起来的。我只修改1bit那么是不对的。
但是又说明了一个问题,我半年前做的pio.c文件中的函数有问题,不正规。使用不方便。以后我要重新修改。

又过了45分钟,当我把读写时序改成别人的一样的,但是还是不行。没折了。这时候突然想到了reset脚我没用。是不是很重要呢,看了别人的程序,一开始的时候要reset1次哦。估计这个脚要用的。我定义下。

用了reset还是没起作用。我开始怀疑线是否太长。但是这个问题貌似暂时无法解决。另外,很早之前我方在面包板上也ok的,不过那时候我定的速度很慢的。再怀疑,我这个屏,之前买的,也没读过id,不知道是真屏还是假货。我最好在之前的avr上读一下id,确定是可以读的再来。

2010-6-19
我在while,让控制引脚高低这样变化。用示波器看每个引脚。其中cs的高电平很尖,但是也是保持到了高电平,这样配置引脚没问题了,连线也没问题了。
接着就要研究读写时序了。自己根据程序手动画了。在excel也画了。看上去没错啊。改了很多种,没用。用示波器看起来很累。我只有2通道。不过我终于找到了看的方法。比如先看cs和rs两根,再看rs和wr2根。结合ili9325的p108页看时序是否正确。变单步调试看时序。发现wr的低电平应该要保持在500ns之内,但是我怎么就1us呢,于是改主频时钟,改到405M,程序就跑飞,于是改到305M,并且把define电平的函数改简单了。终于在500ns之内了。但是还是不能正确初始化,刷屏。今天来不及了,明天再调试。

2010-6-20
1,cs的线更改,看效果。 0.5h 改了,但没用
2,看io口传的数据是否正确。1)DB15与NWR看效果。2)看DB15与DB14,看是否同步,是否正确。单步停止,一个个看

,用万用表看即可。  0.5h
1)效果证明数据正确。但是wr的低电平宽度还是大于500ns,所以我又改了时钟。
2)用万用表看其它的效果,结果正确。
但是屏仍然没反应。
3,avr与arm波形对比。修改。   1h
wr改完了。我的程序是循环的刷屏,当全速运行的时候,突然发现原来时序快了很多。于是又加了很多nop,又把主频时钟改为200MHZ,现在时序基本和avr的相同了。就是感觉有很多毛刺。于是看效果。还是不行。

突然想到wr与数据线还没与avr的wr与数据线比较。明天再比较。
4,可能是电流问题,焊接后再看效果。 0.5h 还是不行的话,只能暂时放弃。

2010-6-21
1,今天有预感,还是先焊接吧!结果焊接完后,上电,刷屏了,效果很好。为了时序总计调试了4小时。今天通过把杜

邦线改为焊接终于ok了。说明硬件连线对,写入时序对。初始化配置我是移植的,先不说。
2,我把时序改成我想象中的代码,结果也通过了。原来之前是硬件问题。

3,读id,还是没读出。今天没开示波器,明天在示波器中看看。待解决
4,把它的初始化程序改成我的,结果没初始化成功。待研究。

经过4个晚上的努力,终于关于屏第一个milestone完成了。证明LCD硬件是好的,并且在2440上能工作,并且完成了底层时序的编写。下一步就是LCD驱动代码的编写。

ARM-ili9325屏调试1--时序的更多相关文章

  1. ARM LCD屏调试3--屏的应用编程

    2011-06-25 19:20:47 驱动自己写完了,应用函数自己就不写了,找了一点代码参考,移植并修改了一下,配合之前的定义的接口文档,我贴出部分代码.目录: 一,开发环境... 1 二,底层函数 ...

  2. MIPI接口LCD屏调试心得(转)

    源: MIPI接口LCD屏调试心得

  3. ARMLCD屏调试2--ili9325驱动编写

    2011-06-24 21:57:09 一,读id--完成 二,自己写了驱动--完成 三,调试LCD屏驱动--完成 一         读id,不过过程还有点曲折. 因为之前写命令写数据的时序是根据i ...

  4. ARM汇编指令调试方法

    学习ARM汇编时,少不了对ARM汇编指令的调试.作为支持多语言的调试器,gdb自然是较好的选择.调试器工作时,一般通过修改代码段的内容构造trap软中断指令,实现程序的暂停和程序执行状态的监控.为了在 ...

  5. win7下自写驱动导致开机蓝屏调试过程

    之前没有接触过驱动调试.这里上手就要解决一个因为某个自定义驱动导致的系统登陆后蓝屏问题,记录下来.   问题: 从客户那边弄来的一个虚拟机,已知是加了我们的驱动之后才会导致蓝屏. 解决过程:   使用 ...

  6. Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 上

    做嵌入式Linux开发也不用再羡慕windows程序员VS集成开发环境的强大,我们同样能够搭建出给力的IDE. 今天在这里记录一下我使用Eclipse-cdt,gdb,gdbserver搭建远程arm ...

  7. Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下

    上一篇中,介绍了如何编译.运行arm-linux-gdb 和 gdbserver,这一篇中介绍怎样结合Eclipse-cdt进行图形化编译调试 首先当然是使用CDT创建项目并添加源文件. 在左侧 Pr ...

  8. windbg蓝屏调试

    一般在写Windows内核程序的时候,经常会出现蓝屏的问题,这个时候一般是采用记录下dump文件然后用windbg查看得方式,具体的过程就不说了,网上一大堆的内容.现在我主要记录自己当初按照网上的方案 ...

  9. 对arm裸板调试的理解

    由于arm芯片一般都包含的由jtag调试这项功能,cpu向外部发出信号时,一般都要同jtag发送出去,它就像一个路口的交警一样,能够控制车辆的运行,当然在arm中指的是cpu发出的数据和地址,我们在调 ...

随机推荐

  1. Java开发面试题汇总整理

    又是金三银四的时候,我希望这份面试题能够祝你一臂之力! 自我和项目相关 1.自我介绍 2.你觉得自己的优点是?你觉得自己有啥缺点? 3.你有哪些 offer? 4.你为什么要离开上家公司?你上家公司在 ...

  2. 抖音圈圈乐 系统搭建H5微信小游戏圈圈乐系统介绍

    网红线下游戏抖音圈圈乐改造而来 一.搭建此系统需要准备如下资料: 1. 认证微信服务号 2. 微信支付商户号 3. 备案域名及云服务器 二.系统功能简介: 1. 游戏闯关 2. 每个商品闯关难度后台自 ...

  3. count(1)、count(*)与count(列名)的执行区别

    执行效果: 1.  count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和coun ...

  4. adb命令集锦

    adb 是什么? adb工具即Android Debug Bridge(安卓调试桥) tools.它就是一个命令行窗口,用于电脑端与模拟器或者真实设备交互. 常用操作: 把文件发送到android设备 ...

  5. Spark RDD的默认分区数:(spark 2.1.0)

    本文基于Spark 2.1.0版本 新手首先要明白几个配置: spark.default.parallelism:(默认的并发数) 如果配置文件spark-default.conf中没有显示的配置,则 ...

  6. vscode编辑器自动生成.vue文件

    1.选择“文件 -> 首选项 -> 用户代码片段”,此时,会弹出一个搜索框,输入vue 选择vue后,编辑器会自动打开一个名字为vue.json的文件 2.复制以下内容到这个文件中: { ...

  7. STM32终端优先级,看过很多感觉这个写的直白易懂

    转自野火<零死角玩转STM32> 一.抢占优先级和响应优先级 STM32 的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号 越小,表明它的优先级别越高.    抢占,是 ...

  8. java 的访问权限控制

    package test06; public class PermissionModel { private int age; public String name; public int getAg ...

  9. POJ - 3279(枚举+暴力)

    Fliptile Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14297   Accepted: 5257 Descrip ...

  10. PHP中通过bypass disable functions执行系统命令的几种方式

    原文:http://www.freebuf.com/articles/web/169156.html 一.为什么要bypass disable functions 为了安全起见,很多运维人员会禁用PH ...