|
发表于 2020-7-23 09:51:32
|
显示全部楼层
借楼问一个读VESC代码遇到的问题,见如下函数:
void observer_update(float v_alpha, float v_beta, float i_alpha, float i_beta,
float dt, volatile float *x1, volatile float *x2, volatile float *phase) {
const float L = (3.0f / 2.0f) * m_conf->foc_motor_l;
const float R = (3.0f / 2.0f) * m_conf->foc_motor_r;
const float gamma = m_conf->foc_observer_gain;
const float linkage = m_conf->foc_motor_flux_linkage;
const float Lia = L * i_alpha;
const float Lib = L * i_beta;
... ...
}
const float Lia = L * i_alpha; 这句, const float是定义Lia为常量吗?但是 i_alpha分明是赋值进来的变量,这样看Lia也不应该是常量。这个地方理解不了了,好像类似的情况在整个VESC工程中有多处。是我的理解有什么问题吗? |
|