注意事项
1、SDK软件开发中,不能将结构体定义在程序中间,必须在开始就对结构体进行定义。要不然会出现程序跑不动的现象。
2、在ARM软件开发中,定义一个变量时,只能用#define,而不能用double等进行定义。定义之后,其他子函数不能再次定义该变量。如:“”“# 14 ARM端将所有的参数放在一个头文件时,报错”所示。
3、变量的命名避免关键字,例如:max,sum,theta,fine.等。要不然会出现要不然会出现程序跑不动的现象。
4、在SDK开发中,定义一个数据类型时,一定要注意该类型占用几个字节。
比如说要将角度300度回传给PL端,那么定义为char 类型的数据是不行的,因为char类型的数据占用一个字节,即8位,最大只能表示127。而回传到PL端时,表示的方式为二进制,所以这种类型不可行。
在这里插入图片描述
4 各个进制符号表示方法
C语言中%X的意思是以十六进制数形式输出整数,类似%x的输出格式还有:
1.%c:单个字符
2.%d:十进制整数
3.%f :十进制浮点数
4.%o:八进制数
5. %s :字符串
6.%u:无符号十进制数
7.%%:输出百分号%
5 子函数如何返回多个值
1、将要返回的值放在一个结构体里面。
2、需要注意的是,如果返回值为结构体的函数里面还有其他子函数,那么其他子函数最好无返回值,更不能出现 return a,且a的数据类型不是结构体。否则会出现如下错误:incompatible types when returning type ‘long int’ but ‘angle_struct {aka struct }’ was expected