海思SS928V100(21AP10)芯片 Hi3404芯片。
文档主要路径:
- 开发环境指南:ReleaseDoc\zh\software\board\OSDRV*开发环境用户指南.pdf
- SDK烧录相关文档:ReleaseDoc\zh\software\board*安装以及升级使用说明.pdf
- MPP开发:ReleaseDoc\zh\01.software\board\MPP\MPP媒体开发软件 开发参考.pdf
1. 常用打印语句
// 打印带方法名+行号+结果的语句。
fprintf(stderr, "[Error]%s(%d): ioctl ret =%d\n", __FUNCTION__, __LINE__, ret);
// LiteOS 日志打印
printf("==88888=>PDT_SCENE_SetStaticAE[%s,%d]\n", __func__, __LINE__);
// Linux 日志打印
MLOGI("PAL_GM7122_Init starting!\n");
printf("set i2c device address Error vio.main.c!\n");
2.C语言预定一宏:FILE, LINE, FUNCTION, DATE, TIME
printf("File = %s\n Line = %d\n Func=%s\n Date=%s\n Time=%s\n", __FILE__, __LINE__, __FUNCTION__, __DATE__, __TIME__);
File = c:\test\test__func__.cpp
Line = 8
Func=testFunc
Date=Sep 7 2012
Time=00:15:42
3.gpio操作
#include <linux/gpio.h>
gpio_num = GPIO组号 * 8 + 组内偏移号,例如GPIO4_2的编号为4 * 8 + 2 = 34.
gpio_request(unsigned gpio, const char *label) 注册GPIO
gpio_direction_output(unsigned gpio, int value) 设置GPIO方向为输出
gpio_set_value(unsigned gpio, int arg) 设置GPIO值。
4.extern 关键字。
全局变量:
extern 的使用场景
原理:引用还没有声明的变量/函数,这个变量或函数在其他地方声明。
使用场景:
- 都是c或c++:声明外部变量或函数
- c++ 调C:c++调用c编译的变量或函数。
全局变量声明。
在方法体外面定义,
int global_number = 1; // 全局变量,一直存在的。
定义在别的文件,想要在当前文件中使用。使用之前,要先声明
extern int a; // 声明外部变量(变量a 定义在别的文件中,它是一个全局的变量。全局变量默认值为0)
并且a不能初始化。这样让目标文件,可以被n个文件include进来。
否则由于没有extern, include 会在n个文件中都拷贝一份变量a。导致编译异常。
#include “a.h”
int global_number = 1;// test.cpp文件。全局变量
extern int g; // test.h文件中声明。
extern int global_number; // main文件中,声明是借的其他文件的变量。也可以include “test.h”包含头文件。
main() {
global_number +=1;
}
// extern_main.c 文件内部。
int main() {
// 文件内部定义的变量和方法。
extern int var_mian;
extern void fun_main();
func_main(); // 调用方法
printf("main var_main=%d\n", var_main)
// 告诉编译器,在别的地方定义了。替代include包含。访问外部文件的变量和方法。
extern int var_other;
extern void func_other();
func_other();
printf("main var_other=%d\n", var_other)
return 0;
}
// 后定义:声明全局变量和方法
int var_main=100;
void func_main() {
printf("main func_main=%d\n", var_main);
}
// extern_other.c
int var_other=100;
void func_other() {
printf("other func_other=%d\n", var_other);
}
// 在cpp中,引用c中定义的变量和方法。
extern "C" int var_c; // C语言编译的结果。
extern "C" void fun_c();
int mian(){
fun_c();
var_c = 45;
printf("extern_cpp var_c=%d\n", var_c);
}
网友评论