亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pid.c

?? Atmel算法(pid)-步進電機驅動源碼 HOWTO,不好用你找我,絕對ok!
?? C
字號:
/* This file has been prepared for Doxygen automatic documentation generation.*/
/*! \file *********************************************************************
 *
 * \brief
 *      PID controller.
 *
 *      This file contains the PID controller, based on the AVR221 application
 *      note.
 *
 * \par Application note:
 *      AVR447: Sinusoidal driving of three-phase permanent motor using
 *      ATmega48/88/168
 *
 * \par Documentation
 *      For comprehensive code documentation, supported compilers, compiler
 *      settings and supported devices see readme.html
 *
 * \author
 *      Atmel Corporation: http://www.atmel.com \n
 *      Support email: avr@atmel.com
 *
 * $Name: RELEASE_1_0 $
 * $Revision: 1.2 $
 * $RCSfile: pid.c,v $
 * $Date: 2006/03/16 08:00:21 $  \n
 ******************************************************************************/

#include <ioavr.h>
#include "stdint.h"
#include "pid.h"

/*! \brief Initialisation of PID controller parameters.
 *
 *  Initialise the variables used by the PID algorithm.
 *
 *  \param p_factor  Proportional term.
 *  \param i_factor  Integral term.
 *  \param d_factor  Derivate term.
 *  \param pid  Struct with PID status.
 */
void PID_Init(int16_t p_factor, int16_t i_factor, int16_t d_factor, pidData_t *pid)
// Set up PID controller parameters
{
  // Start values for PID controller
  pid->sumError = 0;
  pid->lastProcessValue = 0;
  // Tuning constants for PID loop
  pid->P_Factor = p_factor;
  pid->I_Factor = i_factor;
  pid->D_Factor = d_factor;
  // Limits to avoid overflow
  pid->maxError = MAX_INT / pid->P_Factor;
  pid->maxSumError = MAX_I_TERM / pid->I_Factor;
}


/*! \brief PID control algorithm.
 *
 *  Calculates output from setpoint, process value and PID status.
 *
 *  \param setPoint  Desired value.
 *  \param processValue  Measured value.
 *  \param pid_st  PID status struct.
 */
int16_t PID_Controller(int16_t setPoint, int16_t processValue, pidData_t *pid_st)
{
  int16_t error, p_term, d_term;
  int32_t i_term;
  int32_t ret;
  int32_t temp;

  error = setPoint - processValue;

  // Calculate Pterm and limit error overflow
  if (error > pid_st->maxError)
  {
    p_term = MAX_INT;
  }
  else if (error < -pid_st->maxError)
  {
    p_term = -MAX_INT;
  }
  else
  {
    p_term = pid_st->P_Factor * error;
  }

  // Calculate Iterm and limit integral runaway
  temp = pid_st->sumError + error;
  if(temp > pid_st->maxSumError)
  {
    i_term = MAX_I_TERM;
    pid_st->sumError = pid_st->maxSumError;
  }
  else if(temp < -pid_st->maxSumError)
  {
    i_term = -MAX_I_TERM;
    pid_st->sumError = -pid_st->maxSumError;
  }
  else
  {
    pid_st->sumError = temp;
    i_term = pid_st->I_Factor * pid_st->sumError;
  }

  // Calculate Dterm
  d_term = pid_st->D_Factor * (pid_st->lastProcessValue - processValue);

  pid_st->lastProcessValue = processValue;

  ret = (p_term + i_term + d_term) / SCALING_FACTOR;
  if(ret > MAX_INT)
  {
    ret = MAX_INT;
  }
  else if(ret < -MAX_INT)
  {
    ret = -MAX_INT;
  }

  return((int16_t)ret);
}


/*! \brief Resets the integrator.
 *
 *  Calling this function will reset the integrator in the PID regulator.
 */
void PID_Reset_Integrator(pidData_t *pid_st)
{
  pid_st->sumError = 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费看| 波多野结衣在线aⅴ中文字幕不卡| 麻豆成人在线观看| 国产精品一区二区果冻传媒| 国产成人啪免费观看软件| a亚洲天堂av| 91精品国产欧美一区二区成人| 久久亚洲一级片| 亚洲午夜在线电影| 亚洲欧美国产77777| 精品综合久久久久久8888| 91伊人久久大香线蕉| 精品成人私密视频| 亚洲三级久久久| 国产在线精品一区在线观看麻豆| 成人美女在线视频| 精品乱人伦小说| 日本欧美加勒比视频| 色香蕉成人二区免费| 国产色一区二区| 免费高清在线视频一区·| 一本色道久久综合亚洲精品按摩| 亚洲综合色婷婷| 91色.com| 中文字幕一区av| 国产成人精品午夜视频免费| 日韩限制级电影在线观看| 亚洲欧美偷拍另类a∨色屁股| 国内精品国产成人国产三级粉色 | 国产欧美一区视频| 日韩精品一级中文字幕精品视频免费观看| 国产成人午夜精品5599| 精品国产污污免费网站入口| 日韩二区在线观看| 日韩欧美成人激情| 国产精品亚洲午夜一区二区三区 | 国产成人免费在线观看不卡| 国产欧美精品日韩区二区麻豆天美| 韩国成人精品a∨在线观看| 亚洲精品一区二区精华| 国产一区二区三区四区五区美女| 久久午夜色播影院免费高清| 国产成人一区在线| 免费成人美女在线观看.| 日韩高清在线观看| 国产三级精品在线| 国产麻豆精品视频| 一区二区三区日韩| 国产精品国产三级国产a| 欧美tickling网站挠脚心| 欧美精品在线视频| 日本不卡视频一二三区| 欧美区一区二区三区| 久久国产剧场电影| 国产亚洲欧美一区在线观看| 国产精品小仙女| 国产精品成人免费精品自在线观看| 国产精品77777| 一区二区日韩电影| 欧美成人a在线| 99精品欧美一区二区蜜桃免费 | 久久精品人人爽人人爽| 国产成人精品免费一区二区| 亚洲国产美女搞黄色| 91精品国产美女浴室洗澡无遮挡| 国产99精品国产| 久久99精品久久久久久国产越南 | 亚洲人吸女人奶水| 久久婷婷国产综合国色天香| 欧美日韩五月天| 国产乱妇无码大片在线观看| 亚洲女女做受ⅹxx高潮| 国产欧美日韩另类一区| 精品电影一区二区三区| 7777精品伊人久久久大香线蕉的 | 麻豆精品精品国产自在97香蕉| 首页亚洲欧美制服丝腿| 麻豆国产精品777777在线| 国模套图日韩精品一区二区| 91黄视频在线| 日本vs亚洲vs韩国一区三区二区| 亚洲欧美精品午睡沙发| 久久国产乱子精品免费女| 亚洲国产精品99久久久久久久久 | 久久久99精品免费观看| 欧美大片拔萝卜| 亚洲精品v日韩精品| 美国精品在线观看| eeuss鲁片一区二区三区在线观看| 欧美视频中文一区二区三区在线观看| 日韩欧美视频一区| 亚洲综合激情网| 成人一区二区三区视频在线观看| 肉肉av福利一精品导航| 国产精品久久久久久久岛一牛影视 | 日韩午夜在线播放| 99久久婷婷国产综合精品| 91美女片黄在线观看91美女| 欧美丝袜第三区| 欧美电影精品一区二区| 日本一区二区三区dvd视频在线| 99精品桃花视频在线观看| 国产乱码精品一区二区三区五月婷| 日本午夜精品一区二区三区电影| 亚洲美女区一区| 久久久久久久久免费| av成人免费在线| 国产精品99久久久久| 91久久线看在观草草青青| 国产一区视频网站| 免费成人深夜小野草| 天天av天天翘天天综合网| 欧美国产精品v| 久久久久亚洲综合| 久久亚洲精精品中文字幕早川悠里| 亚洲一区二区视频| 欧美日韩二区三区| 亚洲成在人线免费| 日韩欧美区一区二| 国产精品99久久久久久似苏梦涵| 国产日韩欧美激情| 99久久精品国产精品久久| 伊人色综合久久天天人手人婷| 欧美三片在线视频观看| 久久众筹精品私拍模特| 欧美性一级生活| 亚洲精品免费一二三区| 成人网在线免费视频| 欧美国产日韩a欧美在线观看| 美女视频第一区二区三区免费观看网站| 色婷婷久久综合| 国产精品久久毛片av大全日韩| 福利一区在线观看| 国产精品不卡一区二区三区| 成人黄色综合网站| 亚洲综合丝袜美腿| 欧美高清视频在线高清观看mv色露露十八 | 亚洲欧洲国产专区| 一本大道久久a久久综合| 亚洲女同一区二区| 欧美酷刑日本凌虐凌虐| 久久精品av麻豆的观看方式| wwwwxxxxx欧美| 91丝袜美女网| 日本成人在线电影网| 日韩精品一区二区三区四区视频| 国产三级精品在线| 成人av网站大全| 久久精子c满五个校花| 亚洲国产视频网站| av成人老司机| 亚洲色图一区二区三区| 久久爱www久久做| 欧美精品久久久久久久多人混战| 亚洲精品成人精品456| 欧美午夜精品久久久久久孕妇 | 亚洲视频一区二区免费在线观看| 91国产免费观看| 国产一区二区三区精品欧美日韩一区二区三区| 欧美电影免费观看完整版| 在线精品视频小说1| 亚洲第一主播视频| 1024成人网| 欧美国产一区视频在线观看| 欧美成人精品高清在线播放| 欧美亚洲另类激情小说| www.亚洲国产| 成人精品免费看| 国产精品亚洲午夜一区二区三区| 日本午夜精品视频在线观看| 亚洲第一狼人社区| 一区二区三区不卡视频| 亚洲女同女同女同女同女同69| 国产精品福利av| 亚洲国产日日夜夜| 欧美电影免费观看高清完整版在| 精品一区二区在线播放| 日韩女优av电影| 99视频精品免费视频| 成人免费视频在线观看| 91精品久久久久久久91蜜桃| 91免费看片在线观看| 久久精品99国产精品| 精品在线亚洲视频| 精品一区二区三区在线播放| 韩国成人福利片在线播放| 激情小说欧美图片| 成人黄色av网站在线| 色妞www精品视频| 91精品在线观看入口| 精品对白一区国产伦| 国产精品久久网站| 图片区小说区区亚洲影院| 免费不卡在线观看| av中文字幕不卡| 日韩一区二区视频| 亚洲美女免费在线| 午夜久久久久久久久久一区二区| av网站一区二区三区| 91在线精品一区二区|