S3C24XX体系的Linux GPIO控制相关API实现
GPIO(General Purpose Input/Output的缩写)就是芯片的引脚,引脚是可编程的可对引脚的工作模式进行设置:输入模式(检测输入信号),输出模式(输出0或1),高阻状态(常用于AD转换),还有禁止或允许上内部下拉电阻(上拉:管脚通过电阻接高电平,下拉:管脚通过电阻接地,也可以外部接上拉或下拉电阻),还有管脚复用等功能,即通过对内部寄存器的设置使引脚既可以工作在一般模式,作为普通的GPIO口使用,也可以工作在特殊模式,比如作为外部中断信号输入引脚等等。如果不设置GPIO引脚,CPU工作时有一个初始化模式,可以从datasheet(芯片手册)上了解。对GPIO的控制是编写驱动程序最常见和重要的一项工作内容。
在Linux2.6.25内核代码中,已经提供了针对三星S3C2410/S3C2440等芯片GPIO的控制,下面来分别介绍一般如何配置、管理GPIO。
下面的函数是用来根据新的功能需求配置一个GPIO引脚(定义在arch/arm/plat-s3c24xx/gpio.c):
1 void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
2 {
3 void __iomem *base = S3C24XX_GPIO_BASE(pin);
4 unsigned long mask;
5 unsigned long con;
6 unsigned long flags;
7
8 if (pin < S3C2410_GPIO_BANKB) {
9 mask = 1 << S3C2410_GPIO_OFFSET(pin);
10 } else {
11 mask = 3 <
相关文档:
一、下载jdk1.5
从http://www.sun.com/网站下载jdk1.5
下载:jdk-1_5_0_15-linux-i586-rpm.bin
二、安装jdk
1.
# chmod +x jdk-1_5_0_15-linux-i586-rpm.bin
# ./jdk-1_5_0_15-linux-i586-rpm.bin
按提示按输入yes,在同一目录会得到一个jdk-1_5_0_15-linux-i586-rpm
通过# rpm –ivh jdk-1 ......
静态函数库是在程序执行前就加入到目标程序中去了;而共享函数库则是在程序启动的时候加载到程序中,它可以被不同的程序共享;动态加载函数库则可以在程序运行的任何时候动态的加载。
静态函数库实际上就是简单的一个普通的目标文件的集合,一般来说习惯用“.a”作为文件的后缀。可以用ar这个程序来产生静态函数 ......
package zzq.main;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
/************************************************************************
* C语言趣味程序(不到)百例-之Java实现
*
* 0 ......
1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx
++;
x = x&(x-1);
}
return countx;
}
假定x = 9999。 答案:8
思路:将x转化为2进制,看含有的1的个数。
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?
答:引用就是某个目标变量的&l ......
//cExample.h
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
#ifdef __cplusplus
extern "C"
{
#endif
int add(int x, int y);
#ifdef __cplusplus
}
#endif
#endif
---------------------------------
//cExample.c
#include"cExample.h"
int add(int x, int y)
{
return x + y;
}
----------------- ......