这是之前学51单片机时的笔记,最近翻到了就发出来啦
一、结构体:
1.其实就是将一堆变量进行封装。如下例(电机结构体)
该结构体将 motor_id、dir、pwm…等变量封装在一个结构体里。
typedef struct MotorPID_s
{
float Kp,Ki,Kd;
}MotorPID_t;
struct motor_info_t
{
uint8_t motor_id; //电机ID
uint8_t dir; //运动方向
uint16_t pwm; //pwm
uint8_t state; //运行状态
uint16_t encoder; //编码器值
float f_set_spd; //设定速度
float f_mea_spd; //反馈速度
........
MotorPID_t p_pid_parm; //pid结构体 (需要知道结构体里可以包含结构体)
};
SUM:
(1)结构体主要作用是封装变量;
(2)定义结构体变量时可以一次性定义多个:如 struct motor_info_t motor_info_t ,struct motor_info_t motor_info_table[2];表示定义了2个电机结构体变量;
(3)需要了解 结构体在内存中如何储存以及结构体的字节对齐 。