📄 apci1710_pwm.c
字号:
} ul_LowTiming = ul_LowTiming - 1; ul_LowTimerValue = ul_LowTimerValue - 2; if (b_ClockSelection != APCI1710_40MHZ) { ul_LowTimerValue = (ULONG) ((double) (ul_LowTimerValue) * 1.007752288); } break; /******/ /* æs */ /******/ case 1: /******************/ /* Timer 0 factor */ /******************/ ul_LowTimerValue = (ULONG) (ul_LowTiming * (0.25 * b_ClockSelection)); /*******************/ /* Round the value */ /*******************/ if ((double) ((double) ul_LowTiming * (0.25 * (double) b_ClockSelection)) >= ((double) ((double) ul_LowTimerValue + 0.5))) { ul_LowTimerValue = ul_LowTimerValue + 1; } /*****************************/ /* Calculate the real timing */ /*****************************/ *pul_RealLowTiming = (ULONG) (ul_LowTimerValue / (0.25 * (double) b_ClockSelection)); d_RealLowTiming = (double) ul_LowTimerValue / ((double) 0.25 * (double) b_ClockSelection); if ((double) ((double) ul_LowTimerValue / (0.25 * (double) b_ClockSelection)) >= (double) ((double) *pul_RealLowTiming + 0.5)) { *pul_RealLowTiming = *pul_RealLowTiming + 1; } ul_LowTiming = ul_LowTiming - 1; ul_LowTimerValue = ul_LowTimerValue - 2; if (b_ClockSelection != APCI1710_40MHZ) { ul_LowTimerValue = (ULONG) ((double) (ul_LowTimerValue) * 1.007752288); } break; /******/ /* ms */ /******/ case 2: /******************/ /* Timer 0 factor */ /******************/ ul_LowTimerValue = ul_LowTiming * (250.0 * b_ClockSelection); /*******************/ /* Round the value */ /*******************/ if ((double) ((double) ul_LowTiming * (250.0 * (double) b_ClockSelection)) >= ((double) ((double) ul_LowTimerValue + 0.5))) { ul_LowTimerValue = ul_LowTimerValue + 1; } /*****************************/ /* Calculate the real timing */ /*****************************/ *pul_RealLowTiming = (ULONG) (ul_LowTimerValue / (250.0 * (double) b_ClockSelection)); d_RealLowTiming = (double) ul_LowTimerValue / (250.0 * (double) b_ClockSelection); if ((double) ((double) ul_LowTimerValue / (250.0 * (double) b_ClockSelection)) >= (double) ((double) *pul_RealLowTiming + 0.5)) { *pul_RealLowTiming = *pul_RealLowTiming + 1; } ul_LowTiming = ul_LowTiming - 1; ul_LowTimerValue = ul_LowTimerValue - 2; if (b_ClockSelection != APCI1710_40MHZ) { ul_LowTimerValue = (ULONG) ((double) (ul_LowTimerValue) * 1.007752288); } break; /*****/ /* s */ /*****/ case 3: /******************/ /* Timer 0 factor */ /******************/ ul_LowTimerValue = (ULONG) (ul_LowTiming * (250000.0 * b_ClockSelection)); /*******************/ /* Round the value */ /*******************/ if ((double) ((double) ul_LowTiming * (250000.0 * (double) b_ClockSelection)) >= ((double) ((double) ul_LowTimerValue + 0.5))) { ul_LowTimerValue = ul_LowTimerValue + 1; } /*****************************/ /* Calculate the real timing */ /*****************************/ *pul_RealLowTiming = (ULONG) (ul_LowTimerValue / (250000.0 * (double) b_ClockSelection)); d_RealLowTiming = (double) ul_LowTimerValue / (250000.0 * (double) b_ClockSelection); if ((double) ((double) ul_LowTimerValue / (250000.0 * (double) b_ClockSelection)) >= (double) ((double) *pul_RealLowTiming + 0.5)) { *pul_RealLowTiming = *pul_RealLowTiming + 1; } ul_LowTiming = ul_LowTiming - 1; ul_LowTimerValue = ul_LowTimerValue - 2; if (b_ClockSelection != APCI1710_40MHZ) { ul_LowTimerValue = (ULONG) ((double) (ul_LowTimerValue) * 1.007752288); } break; /******/ /* mn */ /******/ case 4: /******************/ /* Timer 0 factor */ /******************/ ul_LowTimerValue = (ULONG) ((ul_LowTiming * 60) * (250000.0 * b_ClockSelection)); /*******************/ /* Round the value */ /*******************/ if ((double) ((double) (ul_LowTiming * 60.0) * (250000.0 * (double) b_ClockSelection)) >= ((double) ((double) ul_LowTimerValue + 0.5))) { ul_LowTimerValue = ul_LowTimerValue + 1; } /*****************************/ /* Calculate the real timing */ /*****************************/ *pul_RealLowTiming = (ULONG) (ul_LowTimerValue / (250000.0 * (double) b_ClockSelection)) / 60; d_RealLowTiming = ((double) ul_LowTimerValue / (250000.0 * (double) b_ClockSelection)) / 60.0; if ((double) (((double) ul_LowTimerValue / (250000.0 * (double) b_ClockSelection)) / 60.0) >= (double) ((double) *pul_RealLowTiming + 0.5)) { *pul_RealLowTiming = *pul_RealLowTiming + 1; } ul_LowTiming = ul_LowTiming - 1; ul_LowTimerValue = ul_LowTimerValue - 2; if (b_ClockSelection != APCI1710_40MHZ) { ul_LowTimerValue = (ULONG) ((double) (ul_LowTimerValue) * 1.007752288); } break; } /*************************************/ /* Calculate the high division fator */ /*************************************/ switch (b_TimingUnit) { /******/ /* ns */ /******/ case 0: /******************/ /* Timer 0 factor */ /******************/ ul_HighTimerValue = (ULONG) (ul_HighTiming * (0.00025 * b_ClockSelection)); /*******************/ /* Round the value */ /*******************/ if ((double) ((double) ul_HighTiming * (0.00025 * (double) b_ClockSelection)) >= ((double) ((double) ul_HighTimerValue + 0.5))) { ul_HighTimerValue = ul_HighTimerValue + 1; } /*****************************/ /* Calculate the real timing */ /*****************************/ *pul_RealHighTiming = (ULONG) (ul_HighTimerValue / (0.00025 * (double) b_ClockSelection)); d_RealHighTiming = (double) ul_HighTimerValue / (0.00025 * (double) b_ClockSelection); if ((double) ((double) ul_HighTimerValue / (0.00025 * (double) b_ClockSelection)) >= (double) ((double) *pul_RealHighTiming + 0.5)) { *pul_RealHighTiming = *pul_RealHighTiming + 1; } ul_HighTiming = ul_HighTiming - 1; ul_HighTimerValue = ul_HighTimerValue - 2; if (b_ClockSelection != APCI1710_40MHZ) { ul_HighTimerValue = (ULONG) ((double) (ul_HighTimerValue) * 1.007752288); } break; /******/ /* æs */ /******/ case 1: /******************/ /* Timer 0 factor */ /******************/ ul_HighTimerValue = (ULONG) (ul_HighTiming * (0.25 * b_ClockSelection)); /*******************/ /* Round the value */ /*******************/ if ((double) ((double) ul_HighTiming * (0.25 * (double) b_ClockSelection)) >= ((double) ((double) ul_HighTimerValue + 0.5))) { ul_HighTimerValue = ul_HighTimerValue + 1; } /*****************************/ /* Calculate the real timing */ /*****************************/ *pul_RealHighTiming = (ULONG) (ul_HighTimerValue / (0.25 * (double) b_ClockSelection)); d_RealHighTiming = (double) ul_HighTimerValue / ((double) 0.25 * (double) b_ClockSelection); if ((double) ((double) ul_HighTimerValue / (0.25 * (double) b_ClockSelection)) >= (double) ((double) *pul_RealHighTiming + 0.5)) { *pul_RealHighTiming = *pul_RealHighTiming + 1; } ul_HighTiming = ul_HighTiming - 1; ul_HighTimerValue = ul_HighTimerValue - 2; if (b_ClockSelection != APCI1710_40MHZ) { ul_HighTimerValue = (ULONG) ((double) (ul_HighTimerValue) * 1.007752288); } break; /******/ /* ms */ /******/ case 2: /******************/ /* Timer 0 factor */ /******************/ ul_HighTimerValue = ul_HighTiming * (250.0 * b_ClockSelection); /*******************/ /* Round the value */ /*******************/ if ((double) ((double) ul_HighTiming * (250.0 * (double) b_ClockSelection)) >= ((double) ((double) ul_HighTimerValue + 0.5))) { ul_HighTimerValue = ul_HighTimerValue + 1; } /*****************************/ /* Calculate the real timing */ /*****************************/ *pul_RealHighTiming = (ULONG) (ul_HighTimerValue / (250.0 * (double) b_ClockSelection)); d_RealHighTiming = (double) ul_HighTimerValue / (250.0 * (double) b_ClockSelection); if ((double) ((double) ul_HighTimerValue / (250.0 * (double) b_ClockSelection)) >= (double) ((double) *pul_RealHighTiming + 0.5)) { *pul_RealHighTiming = *pul_RealHighTiming + 1; } ul_HighTiming = ul_HighTiming - 1; ul_HighTimerValue = ul_HighTimerValue - 2; if (b_ClockSelection != APCI1710_40MHZ) { ul_HighTimerValue = (ULONG) ((double) (ul_HighTimerValue) * 1.007752288); } break; /*****/ /* s */ /*****/ case 3:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -