当前位置: 首页 > news >正文

LCD DMA day59

十四:LCD 显示屏

一:基础概念

访问:

​ 1.传输bank地址和行地址

​ 2传输列地址及读写信号

​ 3.写:写数据到DATA(先写到数据总线中,再数据操作)

​ 读: (先数据操作,再从数据总线拿出数据)从DATA获取数据

二:代码

#include "lcd.h"
#include <s3c2440.h>void lcd0_init(void)
{//引脚GPCCON |= 0xffff;GPCCON = 0xaaaaaaaa;GPDUP  |= 0xffff;GPDCON = 0xaaaaaaaa;		//LCDCON1LCDCON1 |= (7 << 8) | (0x3 << 5) | (0xc << 1);//LCDCON2LCDCON2 |= (13 << 24) | (319 << 14);//LCDCON3LCDCON3 |= (80 << 19) | (239 << 8);//LCDCON5LCDCON5 |= (1 << 11) |(1 << 10) | (1 << 3);//LCDSADDRLCDSADDR1 | FRAMEBUFFER >> 1;LCDSADDR2 = (LCDSADDR1 & 0x1fffff) + 240*320;//最终使能LCDCON1 |= (0x1<< 0);
}void display_point(int x, int y, unsigned short col)
{*((unsigned short *)FRAMEBUFFER+y*240+x) = col;
}void clear(unsigned short col)
{int i = 0;int j = 0;for(i = 0; i < 320; i++)for(j = 0; j < 240; j++)display_point(j, i, col);
}-----------------------------------------------------clear(0xf800);display_point(120, 160, 0);display_point(125, 160, 0);display_point(120, 165, 0);display_point(125, 165, 0);

十五:DMA

从内存空间操作的,所以是AHB

#include "dma.h"
#include <s3c2440.h>void dma_init(void)
{DISRCC1 &= ~(0x3 << 0);	  	//AHB  增加DIDST1  &= ~(0x3 << 0);		//AHB  增加 DCON1 |= (1 << 31) | (1 << 30) | (1 << 27)| (1 << 22) | (0x2 << 20);DSTAT1 = 0;		
}
void memcpy(unsigned long * dest,unsigned long * src,int len)
{unsigned char i = 0;DISRC1 &= ~(0x3fffffff << 0);DISRC1 = (unsigned long)src;DIDST1 &= ~(0x3fffffff << 0);DIDST1 = (unsigned long)dest;DCON1 &= ~(0xfffff << 0);DCON1 |= (len << 0);DMASKTRIG1 |= (1 << 1) | (1 << 0);while((DSTAT1 & (1 << 20)));
}
http://www.dtcms.com/a/343166.html

相关文章:

  • 为何vivo做了头显,小米却选择AI眼镜
  • 【GNSS基带算法】Chapter.2 相干积分与非相干积分
  • 基于 .NET Core Web API 请求 Nacos 配置中心的最佳实践
  • 微服务01-微服务架构:Java中的最佳实践
  • 业务扩展字段系统设计理念与流程图
  • LeetCode_动态规划
  • 【NLP(01)】NLP(自然语言处理)基础
  • nginx-自制证书实现
  • Python学习 -- MySQL数据库的查询及案例
  • 自然语言处理——03 RNN及其变体
  • C++ 命名规范示意表
  • iOS 应用上架瓶颈与解决方案 从开发到审核的全流程实战
  • 机器学习中的聚类与集成算法:从基础到应用
  • word参考文献对齐
  • week3-[循环嵌套]好数
  • 交易所开发实战:打造安全高效的数字货币交易平台
  • 使用java制作minecraft3.0版本
  • 什么是默克尔树
  • Android系统框架知识系列(十三):Sensor Manager Service - Android的感官世界
  • Trae配置rules与MCP
  • 企业微信+AI在金融行业落地:从部署到场景的实践路径
  • CLruCache::BucketFromIdentifier函数分析
  • CroCT
  • 在互联网大厂的Java面试:谢飞机的搞笑历险记
  • Uniapp非脚手架项目打包为5+ App后,在Android端按返回键会意外退出应用。
  • 基于昇腾玩转电影级视频生成模型Wan 2.2
  • ES_索引的操作
  • 基础网络模型
  • 【矩池云】实现Pycharm远程连接,上传数据并解压缩
  • 为什么程序部署到线上,就无法读取环境变量了