![]() |
|
||||||||||||||
| | 首页 | 新闻 | 文库 | 方案 | 技术 | 独家 | 座谈 | 下载 | 图库 | 开发板 | 仿真器 | 邮购 | VIP会员 | 芯片代购 | 客户评价 | | ||
|
||
|
|||||
| 关于BF532驱动LCD | |||||
作者:佚名 新闻来源:Internet 点击数: 更新时间:2008-1-7 ![]() |
|||||
|
我用BF532驱动统宝的240*320的LCD,用PPI输出,该屏水平垂直同步信号,只有一个数据使能信号,我用PPI_FS1做垂直同步,用CPLD产生数据使能信号,寄存器的设置是这样的: *pDMA0_X_MODIFY = 2; 改为2维DMA设置: *pDMA0_X_MODIFY = 2; 再次改为如下2维DMA设置: *pDMA0_X_MODIFY = 2; 曾经这样设置过,设置X方向传输160行一维DMA,启动中断,在中断中重新设置DMA,将DMA的START_ADDR指向下半帧起始处,再启动DMA,但只有上部显示正常,下半帧还是无显示,后来看资料也说无同步信号DMA不会启动。 现在实在没有办法了,在此请各位高手不吝赐教,我的问题出在哪里,如何设置2维DMA。 ------------------------------------------------------------------------------------------------- 原因总算在昨天找到了,那就是半帧传输完后,也就是2D DMA的内部循环结束后,开始外部循环,但外部循环没有工作,原因是没有同步信号,原来每次的DMA传输要有同步信号启动,手册里也没有说。于是改程序,将内部同步改为外部同步,同步信号在每帧起始处即半帧处增加一个同步,但CPLD程序一直不能工作,最后用了一个效率较低的办法,用内部同步,将PPI_FS1(TIMER1)的周期改为原来的一半,这样一帧中就能产生两个同步头,但是上半帧为160行,下半帧的160行结束后还要有16行的垂直消隐,只能开启PPI中断,在半帧结束后的中断判断上下半帧,修改TIMER1的PERIOD为相应的长度,多增加了一个周期7.7ms左右的中断程序。问题解决。 |
|||||
| 新闻录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 关于GUI blackfin toolchain 安装 一般在bf533上面做mpeg4的方 关于ADSP-BF533-EZLITE评估板 bf533 ezkit lite 跑得很慢么 不解的SDRAM写操作? 如何在uClinux下使用汇编语言 flash programer问题 printf( "\n test printf!\n 当我关断放大器的电源时,其 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 本站介绍 | 合作联络 | 欢迎投稿 | 广告业务 | 网站地图 | 设为首页 | 加入收藏 | 友情链接 | 网站公告 | 联系我们 | | |||
|