首頁的列表是不是變得清爽且具備吸引力了?


這裡放標題 (二級標題)

準備用來撰寫玩張用的測試文件。這裡可以自由使用 粗體斜體 或者 連結

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/*---------------------------------------------------------------------------*/
/* 煞車距離計算 */
static int GCMCBrakingDistanceCalculate(int iStepCounterRate100Value, int iMotorDrivingPWMDuty, WORD wDecelerationStageDurationTime)
  {
    DWORD GGD_DMEM dwTotalBrakingDistance;
    DWORD GGD_DMEM dwCalculationScaled;
    
    if(iMotorDrivingPWMDuty <= GCMC_MOTOR_PWM_DUTY_MINIMUM)
      {
        return 0;
      }
    
    dwTotalBrakingDistance = 0;
    dwCalculationScaled = (iMotorDrivingPWMDuty - GCMC_MOTOR_PWM_DUTY_MINIMUM) * GCMC_CALCULATION_RATE_BASE;
    while(iMotorDrivingPWMDuty > GCMC_MOTOR_PWM_DUTY_MINIMUM)
      {
        /* 把公式中的除數處理延後到最後 */
        WORD GGD_DMEM wFragmentDistanceScaled = (iMotorDrivingPWMDuty - GCMC_MOTOR_PWM_DUTY_MINIMUM) * iStepCounterRate100Value;
        dwTotalBrakingDistance += wFragmentDistanceScaled * wDecelerationStageDurationTime;
        
        iMotorDrivingPWMDuty -= GCMC_MOTOR_PWM_DUTY_GAIN;
      }
    
    /* 一次完成除數處理 */
    return (int)((dwTotalBrakingDistance / dwCalculationScaled) * GCMC_BRAKING_DISTANCE_COMPENSATION_FACTOR);
  }
  • 項目一
  • 項目二

💡 馬達控制實戰系列