S3C2440之LCD的初始化配置

2023-11-18

<pre name="code" class="objc"><pre name="code" class="objc">#define LADDR 0x30800000 
#define HMIX 240
#define VMIX 320 

unsigned short * addrbuf = (unsigned short *)LADDR;
 
 
/************************************************* 
Function  name  :   lcd_init
Description     :   Init
Input parameter :   NONE
Return          :   none              
Others          :   none                                                   
*************************************************/
void lcd_init(void)
{
	lcd_pin_init();
	lcd_reg_init();
	lcd_enable();
}
/************************************************* 
Function  name  :   lcd_pin_init
Description     :   配置lcd引脚
Input parameter :   none
Return          :   none              
Others          :   none                                                   
*************************************************/
void lcd_pin_init(void)
{
	rGPCCON = 0xaaaaaaaa;//配置为特殊功能寄存器
	rGPDCON = 0xaaaaaaaa;//配置为特殊功能寄存器	
	rGPGCON |= 0x3<<8; 
}
/************************************************* 
Function  name  :   lcd_reg_init
Description     :   配置lcd的寄存器
Input parameter :   none
Return          :   none              
Others          :   none                                                   
*************************************************/
void lcd_reg_init(void)
{
	// CLKVAL PNRMODE BPPMODE ENVID
	rLCDCON1 = ((0x9<<8)|(0x3<<5)|(0xc<<1));
	//4 319 4 5 
	rLCDCON2 = ((0x4<<24)|(0x13f<<14)|(0x4<<6)|(0x5));
	//HBPD = 10 HOZVAL = 239 HFPD = 10
	rLCDCON3 = ((0xa<<19)|(0xef<<8)|(0xa));
	//HSPW = 9
	rLCDCON4 = 0x9;
	//看手册398页
	rLCDCON5 = ((0x1<<11)|(0x1<<6)|(0x1<<3)|(0x1<<2)|(0x1));
	//配置图像缓存地址
	rLCDSADDR1 = (((LADDR>>1) & 0x1fffff) | (((LADDR>>22) & 0x1ff)<<21));
	rLCDSADDR2 = (((LADDR+VMIX*HMIX*2)>>1)&0x1fffff);
}
/************************************************* 
Function  name  :   lcd_enable
Description     :   开关
Input parameter :   none
Return          :   none              
Others          :   none                                                   
*************************************************/
void lcd_enable(void)
{
	rLCDCON1 |= 0x1;//电源使能
}

/************************************************* 
Function  name  :   clr_lcd
Description     :   清屏函数
Input parameter :   const unsigned char c要显示的颜色
Return          :   none              
Others          :   none                                                   
*************************************************/
void clr_lcd(const unsigned int c)//
{
int i,j;
	for(i = 0;i<VMIX;i++)
	{
		for(j = 0;j<HMIX;j++)
		{
			addrbuf[HMIX*i+j] = c;
		}
	}
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

S3C2440之LCD的初始化配置 的相关文章

  • 使用 C# 登录《我的世界》

    我正在尝试为自己和一些朋友创建一个简单的自定义 Minecraft 启动器 我不需要启动 Minecraft 的代码 只需要登录的实际代码行 例如 据我所知 您过去可以使用 string netResponse httpGET https
  • 如何在多线程C++ 17程序中交换两个指针?

    我有两个指针 pA 和 pB 它们指向两个大的哈希映射对象 当pB指向的哈希图完全更新后 我想交换pB和pA 在C 17中 如何快速且线程安全地交换它们 原子 我是 c 17 的新手 2个指针的原子无等待交换可以通过以下方式实现 inclu
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • 如何判断计算机是否已重新启动?

    我曾经使用过一个命令行 SMTP 邮件程序 作为试用版的限制 它允许您在每个 Windows 会话中最多接收 10 封电子邮件 如果您重新启动计算机 您可能还会收到 10 个以上 我认为这种共享软件破坏非常巧妙 我想在我的应用程序中复制它
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • 使用 GCP 的数据存储区时如何区分代码是在模拟器中运行还是在 GKE 中运行

    按照中给出的说明进行操作后 我不确定是否遗漏了任何内容https cloud google com datastore docs tools datastore emulator https cloud google com datasto
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • 在 NaN 情况下 to_string() 可以返回什么

    我使用 VS 2012 遇到了非常令人恼火的行为 有时我的浮点数是 NaN auto dbgHelp std to string myFloat dbgHelp最终包含5008角色 你不能发明这个东西 其中大部分为0 最终结果是 0 INF
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回到 C#

    我有一个 c dll 它为我的主 c 应用程序提供一些功能 在这里 我尝试读取一个文件 将其加载到内存 然后返回一些信息 例如加载数据的指针和内存块的计数到 c Dll 成功将文件读取到内存 但在返回主应用程序时 程序由于堆损坏而崩溃 检测
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • GCC 的“-Wl,option”和“-Xlinker option”语法之间有区别吗?

    我一直在查看一些配置文件 并且看到它们都被使用 尽管在不同的体系结构上 如果您在 Linux 机器上使用 GCC 将选项传递给链接器的两种语法之间有区别吗 据我所知 阅读 GCC 手册时 他们的解释几乎相同 From man gcc Xli
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • 是否可以在不连接数据库的情况下检索 MetadataWorkspace?

    我正在编写一个需要遍历实体框架的测试库MetadataWorkspace对于给定的DbContext类型 但是 由于这是一个测试库 我宁愿不连接到数据库 它引入了测试环境中可能无法使用的依赖项 当我尝试获取参考时MetadataWorksp
  • 如何使用 C++11 using 语法键入定义函数指针?

    我想写这个 typedef void FunctionPtr using using 我该怎么做呢 它具有类似的语法 只不过您从指针中删除了标识符 using FunctionPtr void 这是一个Example http ideone
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • 利用python语言编程控制LEGO EV3

    1 环境搭建 安装WinSCP 网址 https sourceforge net projects winscp 下载一个自己喜欢的python IDE 例如pycharm 将EV3的系统换为ev3dev 参考网址 https www ev
  • 适合儿童学习的编程语言一览

    近两年我们常常会看到如下新闻 4 5岁的就能具备独立开发APP的能力 6 7岁的孩子甚至可以设计出可以上线的小游戏 在我们感慨小朋友们出色的编程能力的同时 不难发现编程已从边缘学科逐渐被大家重视 编程普及率不断提升 而且逐渐呈现出低龄化发展
  • python——常见ERROR汇总

    读取txt csv等数据时 UnicodeDecodeError gbk codec can t decode byte 0xbf in position 2 illegal multibyte sequence 释义 Unicode的解码
  • 80. 删除有序数组中的重复项 II

    Powered by NEFU AB IN Link 文章目录 80 删除有序数组中的重复项 II 题意 思路 代码 80 删除有序数组中的重复项 II 题意 给你一个有序数组 nums 请你 原地 删除重复出现的元素 使得出现次数超过两次
  • 和愚蠢的人打交道_如何与工作困难的人打交道

    和愚蠢的人打交道 Humans are social creatures who seek personal validation based on how others interact with them We feel good an
  • (转) serialVersionUID作用

    Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的 在进行反序列化时 JVM会把传来的字节流中的serialVersionUID与本地相应实体 类 的serialVersionUID进行比较 如果相
  • C++11 -- 包装器

    文章目录 function包装器 function包装器的概念 function的运用 function实例化 使用function解决逆波兰表达式 bind包装器 bind包装器相关介绍 bind调整函数形参传参顺序 bind绑定函数固定
  • 双机热备,如何用浮动IP跨网络访问异地服务

    环境是这样的 本地有两台服务器A B A 192 168 151 170 主 B 192 168 151 171 备 双机的浮动IP 192 168 151 174 承载网IP 10 182 254 164 异地服务端 172 16 122
  • python怎么去除字符串的空格、回车

    内容取此 str 123 456 print str strip 去除左右两边的空格 print str lstrip 去除左边的空格 print str rstrip 去除右边的空格 print str replace 去除字符串全部空格
  • ELK详解(十七)——filebeat输出到Redis和Elasticsearch实战

    今天继续给大家介绍Linux运维相关知识 本文主要内容是使用filebeat将日志输出到Redis和Elasticsearch的实战配置 在ELK详解 十六 filebeat安装与使用一文中 我们介绍了filebeat的安装 部署和简单应用
  • 基于SpringBoot-Dubbo的微服务快速开发框架

    简介 基于Dubbo的分布式 微服务基础框架 为前端提供脚手架开发服务 结合前一篇 Web AP快速开发基础框架 可快速上手基于Dubbo的分布式服务开发 项目代码 https github com backkoms web service
  • 微信小程序最新获取头像昵称方式

    前言 版本历史变迁 一 获取头像的正确姿势 二 获取昵称的正确姿势 总结 前言 产品需要获取微信用户的昵称和头像 这这还不简单 so easy 通过wx getUserProfile或者 wx getUserInfo 就可以获取到 但是获取
  • Nacos安装配置详细流程

    快速导航 1 Nacos安装 1 1概述 1 2 下载 1 3 安装 1 4 启动和关闭 1 5 测试 2 Nacos持久化 2 1为什么持久化 2 2配置Nacos持久化 2 2 1 切换数据库 2 2 2 初始化数据库 2 2 3 测试
  • tensorflow LeNet

    LeNet 即 LeNet5 由 Yann LeCun 在 1998 年提出 做为最早的卷积神经网络之一 是许 多神经网络架构的起点 其网络结构如图 下所示 借鉴点 共享卷积核 减少网络参数 在后期发展中 降采样层被 m a x p o o
  • HTML5 canvas 圆环扩散效果

    canvas 圆环扩散效果 使用 HTML5 canvas 制作圆环扩散的效果 以下是效果图 下面是实现代码 仅供参考 转载请注明出处 如有问题请联系 页面元素
  • TensorFlow2学习(三):keras 函数api

    文章目录 1构建简单的网络 1 1创建网络 1 2训练 验证及测试 1 3模型保持和序列化 2 使用共享网络创建多个模型 3 复杂网络结构构建 3 1多输入与多输出网络 3 2小型残差网络 4 共享网络层 5 模型复用 6 自定义网络层 完
  • quartus 中出现的问题总结

    quartus 中出现的问题总结 下面展示报错 A code block Start time 16 27 28 on Mar 25 2020 Error vsim 3170 Could not find fulladder1 vlg ts
  • 机器学习&数据挖掘:特征选择之 wrapper approach

    在前面简要介绍了特征选择的Filter方法 由于Filter方法还有很多 在此不能一一介绍 Filter方法从原始特征中选择特征子集 用于后续的机器学习算法 由于Filter在特征选择时 没有考虑到所用的机器学习算法模型 可能会导致选择出的
  • git命令学习——将本地代码推送到远程新建仓库

    在远程 如gitee 中新建一个仓库后复制仓库链接 打开git Bash或者CMD 初始化本地仓库 git init 添加全部修改的文件 git add 注意不要漏了 编写提交说明 git commit m 提交说明 连接远程仓库 git
  • S3C2440之LCD的初始化配置

    pre class objc pre class objc define LADDR 0x30800000 define HMIX 240 define VMIX 320 unsigned short addrbuf unsigned sh