num = fread(data, 1, length, p);读取文件节点数据
- data -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。
- 1-- 这是要读取的每个元素的大小,以字节为单位。
- length-- 这是元素的个数,每个元素的大小为 size 字节。
- p-- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。
status = strtol(buf, NULL, 10); 该函数返回转换后的长整数,如果没有执行有效的转换,则返回一个零值。
- buf-- 要转换为长整数的字符串。
- NULL-- 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符。
- 10-- 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0。
int strcmp(const char *s1, const char *s2);用来比较字符串(区分大小写) 头文件:#include <string.h>
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。【返回值】若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
android\out\target\product\msm8909\system\build.prop 文件可以查看是不是user版本
char *strchr(const char *str, int c)在一个串中查找给定字符的第一个匹配之处,即在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。strchr函数包含在C 标准库 <string.h>中。返回一个指向该字符串中第一次出现的字符的指针,如果字符串中不包含该字符则返回NULL空指针。
char *strncpy(char *dest, const char *src, int n)用于将指定长度的字符串复制到字符数组中,定义于 string.h,表示把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回被复制后的dest。
int kstrtouint(const char *s, unsigned int base, unsigned int *res)定义在文件kstrtox.c中
s是输入字符串,base可以是10(10进制)或16(16进制),或者是0自动识别,res存放转换后的整形值.当没有错误时返回值是0;
在驱动中使用gpio号 = of_get_named_gpio(xxxnode, "reset-gpios", 0);
函数返回值来得到gpio号
调用of_parse_phandle(dev->of_node, prop_name, 0) 接口,获取device node。
interrupt-parent = <&gpio2>;interrupts = <5 1>;表示中断控制器是GPIO2,使用GPIO2的第5号中断,这里的第5号中断指的是5号引脚,1是指中断触发的方式为上升沿触发
fooj-y +=foo.o:无条件编译,不需要Kconfig配置;obj-m表示文件要作为模块编译;obj-n表示目标不会被编译。
do{}while{0}语句主要用于宏定义中,防止碰到if语句被拆分开。