p_function->stroke_rate =(u8_t)(2*60/time); { p_function->private_stroke_rate =(u16_t)(10*60/time); } //平均浆频 p_monocyclic->stroke_count_intact++; p_monocyclic->sum_stroke_rate += p_function->stroke_rate ; if(p_monocyclic->sum_stroke_rate) { p_function->average_stroke_rate = p_monocyclic->sum_stroke_rate / p_monocyclic->stroke_count_intact; { p_function->private_avg_stroke_rate = (u16_t)(5 *p_monocyclic->sum_stroke_rate / p_monocyclic->stroke_count_intact);//比标准桨频扩大5倍精度 p_lesson ->average_stroke_rate = p_function->private_avg_stroke_rate ; } }
时间: 2024-04-15 19:26:31 浏览: 139
这段代码是关于浆频计算的部分。根据代码,浆频的计算方式如下:
1. 首先,将60乘以2,再除以时间,得到浆频的值,并将其转换为无符号8位整型(u8_t)赋给p_function->stroke_rate。
2. 然后,在一个大括号内,将60乘以10,再除以时间,得到扩大10倍精度的浆频值,并将其转换为无符号16位整型(u16_t)赋给p_function->private_stroke_rate。
3. 接下来,对于平均浆频的计算,首先将p_monocyclic->stroke_count_intact自增1,表示完整的浆频计数加1。
4. 然后,将p_function->stroke_rate累加到p_monocyclic->sum_stroke_rate上,表示将当前浆频值加到总浆频和上。
5. 如果总浆频和不为0,则进行下面的计算:
a. 将总浆频和除以完整的浆频计数,得到平均浆频值,并赋给p_function->average_stroke_rate。
b. 在一个大括号内,将总浆频和乘以5,并除以完整的浆频计数,得到扩大5倍精度的平均浆频值,并将其转换为无符号16位整型(u16_t)赋给p_function->private_avg_stroke_rate。然后,将该值赋给p_lesson->average_stroke_rate。
这段代码主要是计算浆频和平均浆频的值,并将结果赋给相应的变量。
阅读全文