Welcome 微信登录

首页 / 操作系统 / Linux

第一个裸奔程序——跑马灯

第一个裸奔程序——跑马灯

经过前段时间的准备,现在终于开始正式写ARM程序了。本着先易后难的原则,先写无操作系统的ARM裸奔程序,以便熟悉s3c2440的内部结构,此后再编写有操作系统的程序。 第一个程序就从最最简单的点亮开发板上的四个LED开始,使这四个并排摆放的LED从一端向另一端依次被点亮,从而呈现出跑马灯的效果。四个LED连接到了B口的5到8引脚,输出低电平时被点亮,下面就是程序代码://定义三个寄存器#define rGPBCON (*(volatile unsigne...
s3c2440外部中断操作

s3c2440外部中断操作

要想正确地执行2440的外部中断,一般需要完成两个部分内容:中断初始化和中断处理函数。 在具体执行中断之前,要初始化好要用的中断。2440的外部中断引脚EINT与通用IO引脚F和G复用,要想使用中断功能,就要把相应的引脚配置成中断模式,如我们想把端口F0设置成外部中断,而其他引脚功能不变,则GPFCON=(GPFCON & ~0x3) | 0x2。配置完引脚后,还需要配置具体的中断功能。我们要打开某一中断的屏蔽,这样才能响应该中断,相对应的寄存器...
s3c2440的PWM应用

s3c2440的PWM应用

PWM(Pulse Width Modulation)——脉宽调制,它是利用微控制器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量、通信、功率控制与变换等许多领域。s3c2440芯片中一共有5个16位的定时器,其中有4个定时器(定时器0~定时器3)具有脉宽调制功能,因此用s3c2440可以很容易地实现PWM功能。下面就具体介绍如何实现PWM功能。1、PWM是通过引脚TOUT0~TOUT3输出的,而这4个引脚是与GPB0~GPB3复用的,...
Python 3.0中重载模块

Python 3.0中重载模块

在python中,每一个以 .py结尾的Python文件都是一个模块。其他的文件可以通过导入一个模块来读取该模块的内容。导入从本质上来讲,就是载入另一个文件,并能够读取那个文件的内容。一个模块的内容通过这样的属性能够被外部世界使用。 这种基于模块的方式使模块变成了Python程序架构的一个核心概念。更大的程序往往以多个模块文件的形式出现,并且导入了其他模块文件的工具。其中的一个模块文件被设计成主文件,或叫做顶层文件(就是那个启动后能够运行整个程序的文件)。...
在Python中添加自定义模块

在Python中添加自定义模块

一般来说,我们会将自己写的python模块与python自带的模块分开存放以达到便于维护的目的。Python 运行环境在查找库文件时是对 sys.path 列表进行遍历,如果我们想在运行环境中注册新的类库,主要有以下三种方法:在sys.path列表中添加新的路径。 设置PYTHONPATH环境变量。 将库文件复制到sys.path列表中的目录里(如site-packages目录)。 其实,最简单的办法是用 .pth 文件来实现。Python 在遍历已知的库...
Android List拖动时背景为黑色问题

Android List拖动时背景为黑色问题

在为程序加背景时,发现在拖动List或Grid列表时一片漆黑,很是难看,我想Android肯定提供了一种方法,在用户拖动列表时不总是一片漆黑或者说透明。果然,其实只是View的属性而已,ListView、GridView都有这个属性,两种设置如下:xml布局文件里设置为:android:cacheColorHint="#00000000"java代码里设置为:listView.setCacheColorHint(0);或gridView.setCacheC...
Java concurrent包理解

Java concurrent包理解

Java并发处理1、 简介了解java并发之前先了解java内存模型,java内存有主内存和工作内存,比有个对象Person,有实例变量name,那么Person的实例中name属性就是在主内存中,如果多个线程同时操作Person,那么每个线程会有Person属性name的副本放在每个线程的工作内存中,每个工作内存修改后会同步到主内存中,但是这里就有问题:一致性问题和可见性问题,导致数据丢失或脏数据。为了解决这个问题,引入了同步机制synchronized...
<< 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 >>