⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 apci1710_pwm.c

📁 最新版comedi的源码
💻 C
📖 第 1 页 / 共 5 页
字号:
					      }					   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 + -