Files
MicrochipFor32/Doc/xml/bsp___p_i_d_8cpp.xml

184 lines
38 KiB
XML
Raw Normal View History

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.5" xml:lang="zh">
<compounddef id="bsp___p_i_d_8cpp" kind="file" language="C++">
<compoundname>bsp_PID.cpp</compoundname>
<includes refid="bsp___p_i_d_8h" local="yes">bsp_PID.h</includes>
<incdepgraph>
<node id="1">
<label>D:/gitt/MicrochipFor32/bsp_Device/bsp_PID.cpp</label>
<link refid="bsp___p_i_d_8cpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="2">
<label>bsp_PID.h</label>
<link refid="bsp___p_i_d_8h"/>
<childnode refid="3" relation="include">
</childnode>
</node>
<node id="3">
<label>varint.h</label>
<link refid="varint_8h"/>
<childnode refid="4" relation="include">
</childnode>
</node>
<node id="4">
<label>stdint.h</label>
</node>
</incdepgraph>
<briefdescription>
<para>实现了PID算法 </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="comment">/*----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="2"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="3"><highlight class="comment"><sp/>#<sp/><sp/>Copyright<sp/>(c)<sp/>2022<sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="4"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>#<sp/><sp/>本软件按原样提供,无任何明示或暗示</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>#<sp/><sp/>在任何情况下,作者都不承担任何损害赔偿责任</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>#<sp/><sp/>使用的许可声明:</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>#<sp/><sp/>1.<sp/><sp/>不得歪曲本软件的来源,你不能声称你编写了原始软件.</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>#<sp/><sp/>2.<sp/><sp/>免费授予以任何目的,前提是版权声明出现在所有副本中.</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>并且版权声明和许可声明同时出现.</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>#<sp/><sp/>3.<sp/><sp/>你有使用,复制,修改,分发,和销售本软件的许可.</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>#<sp/><sp/>4.<sp/><sp/>如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>#<sp/><sp/>5.<sp/><sp/>本通知不得从任何来源删除或更改.</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>#<sp/><sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>E-mail:zabbcccbbaz@163.com</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>QQ:2715099320</highlight></codeline>
<codeline lineno="19"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>Mobile<sp/>Phone:13005636215</highlight></codeline>
<codeline lineno="20"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="21"><highlight class="comment"><sp/>#<sp/><sp/>All<sp/>rights<sp/>reserved.</highlight></codeline>
<codeline lineno="22"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>头文件</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="bsp___p_i_d_8h" kindref="compound">bsp_PID.h</ref>&quot;</highlight></codeline>
<codeline lineno="40"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="41"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>类函数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="42"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/></highlight></codeline>
<codeline lineno="48" refid="classbsp___position___p_i_d_1ac658466d8bc1d12fcd403c4b6f9ca9f7" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="classbsp___position___p_i_d_1ac658466d8bc1d12fcd403c4b6f9ca9f7" kindref="member">bsp_Position_PID::PID</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>temp)<sp/>{</highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>thisError;</highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/>thisError<sp/>=<sp/><ref refid="classbsp___position___p_i_d_1a04921569cfe25681f8763beaae01c1bc" kindref="member">target</ref><sp/>-<sp/>temp;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//当前误差等于设定值减去当前值</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05" kindref="member">integral</ref><sp/>+=<sp/>thisError;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//误差积分,把所有误差累加起来</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">result</ref><sp/>=<sp/></highlight></codeline>
<codeline lineno="53"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52" kindref="member">Kp</ref><sp/>*<sp/>thisError<sp/>+<sp/></highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68" kindref="member">Ki</ref><sp/>*<sp/><ref refid="classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05" kindref="member">integral</ref><sp/>+<sp/></highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75" kindref="member">Kd</ref><sp/>*<sp/>(thisError<sp/>-<sp/><ref refid="classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada" kindref="member">lasterror</ref>);</highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada" kindref="member">lasterror</ref><sp/>=<sp/>thisError;</highlight></codeline>
<codeline lineno="57"><highlight class="normal"></highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a" kindref="member">result_H</ref><sp/>==<sp/><ref refid="classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196" kindref="member">result_L</ref>)</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">result</ref>;</highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">result</ref><sp/>&gt;=<sp/><ref refid="classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a" kindref="member">result_H</ref>)<ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">result</ref><sp/>==<sp/><ref refid="classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a" kindref="member">result_H</ref>;</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">result</ref><sp/>&lt;=<sp/><ref refid="classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196" kindref="member">result_L</ref>)<ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">result</ref><sp/>==<sp/><ref refid="classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196" kindref="member">result_L</ref>;</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">result</ref>;</highlight></codeline>
<codeline lineno="62"><highlight class="normal">}</highlight></codeline>
<codeline lineno="63"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="69" refid="classbsp___increment___p_i_d_1a7f39310ecc4cd1f8029a6545bd37e0a9" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="classbsp___increment___p_i_d_1a7f39310ecc4cd1f8029a6545bd37e0a9" kindref="member">bsp_Increment_PID::PID</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>temp)<sp/>{</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>thisError=<ref refid="classbsp___increment___p_i_d_1a6f2142a4e99c8a6bd5b604fe53c8e6b1" kindref="member">target</ref><sp/>-<sp/>temp;<sp/><sp/></highlight><highlight class="comment">//当前误差等于设定值减去当前值</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>increment;</highlight></codeline>
<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>pError,<sp/>dError,<sp/>iError;</highlight></codeline>
<codeline lineno="73"><highlight class="normal"></highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/>pError<sp/>=<sp/>thisError<sp/>-<sp/><ref refid="classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b" kindref="member">lasterror</ref>;</highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/>iError<sp/>=<sp/>thisError;</highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/>dError<sp/>=<sp/>thisError<sp/>-<sp/>2<sp/>*<sp/><ref refid="classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b" kindref="member">lasterror</ref><sp/>+<sp/><ref refid="classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82" kindref="member">preerror</ref>;</highlight></codeline>
<codeline lineno="77"><highlight class="normal"></highlight></codeline>
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/>increment<sp/>=<sp/></highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b" kindref="member">Kp</ref><sp/>*<sp/>pError<sp/>+<sp/></highlight></codeline>
<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec" kindref="member">Ki</ref><sp/>*<sp/>iError<sp/>+<sp/></highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627" kindref="member">Kd</ref><sp/>*<sp/>dError;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//增量计算</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82" kindref="member">preerror</ref><sp/>=<sp/><ref refid="classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b" kindref="member">lasterror</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//存放偏差用于下次运算</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b" kindref="member">lasterror</ref><sp/>=<sp/>thisError;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//存放偏差用于下次运算</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">result</ref><sp/>+=<sp/>increment;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//上次结果叠加增量</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="85"><highlight class="normal"></highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a" kindref="member">result_H</ref><sp/>==<sp/><ref refid="classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd" kindref="member">result_L</ref>)</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">result</ref>;</highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">result</ref><sp/>&gt;=<sp/><ref refid="classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a" kindref="member">result_H</ref>)<ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">result</ref><sp/>==<sp/><ref refid="classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a" kindref="member">result_H</ref>;</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">result</ref><sp/>&lt;=<sp/><ref refid="classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd" kindref="member">result_L</ref>)<ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">result</ref><sp/>==<sp/><ref refid="classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd" kindref="member">result_L</ref>;</highlight></codeline>
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">result</ref>;}</highlight></codeline>
<codeline lineno="90"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="91"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="96" refid="classbsp___position___p_i_d_1a7b60d7f8a80c632c501561e7e0765f14" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___position___p_i_d_1a7b60d7f8a80c632c501561e7e0765f14" kindref="member">bsp_Position_PID::clean</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05" kindref="member">integral</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//积分值</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada" kindref="member">lasterror</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//前一拍偏差</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">result</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//输出值</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="101"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="106" refid="classbsp___increment___p_i_d_1aa1cab8492ec6a289debfc215689d9b38" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___increment___p_i_d_1aa1cab8492ec6a289debfc215689d9b38" kindref="member">bsp_Increment_PID::clean</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b" kindref="member">lasterror</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//前一拍偏差<sp/><sp/><sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82" kindref="member">preerror</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//前两拍偏差</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">result</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//输出值</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="111"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="112"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="119" refid="classbsp___position___p_i_d_1add37a6f47b3f9b6dd0d945def8ed2ef1" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___position___p_i_d_1add37a6f47b3f9b6dd0d945def8ed2ef1" kindref="member">bsp_Position_PID::set</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>P,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>I,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>D)<sp/>{</highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52" kindref="member">Kp</ref><sp/>=<sp/>P;<sp/><ref refid="classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68" kindref="member">Ki</ref><sp/>=<sp/>I;<sp/><ref refid="classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75" kindref="member">Kd</ref><sp/>=<sp/>D;}</highlight></codeline>
<codeline lineno="121"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="128" refid="classbsp___increment___p_i_d_1aeddd6d60b615571d390653e9a958b2b4" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___increment___p_i_d_1aeddd6d60b615571d390653e9a958b2b4" kindref="member">bsp_Increment_PID::set</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>P,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>I,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>D)<sp/>{</highlight></codeline>
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b" kindref="member">Kp</ref><sp/>=<sp/>P;<sp/><ref refid="classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec" kindref="member">Ki</ref><sp/>=<sp/>I;<sp/><ref refid="classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627" kindref="member">Kd</ref><sp/>=<sp/>D;}</highlight></codeline>
<codeline lineno="131"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="132"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>构造函数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="133"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="134" refid="classbsp___position___p_i_d_1ac50b1ff29153eed1fcb252a3eee2aa69" refkind="member"><highlight class="normal"><ref refid="classbsp___position___p_i_d_1ac50b1ff29153eed1fcb252a3eee2aa69" kindref="member">bsp_Position_PID::bsp_Position_PID</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a04921569cfe25681f8763beaae01c1bc" kindref="member">bsp_Position_PID::target</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada" kindref="member">bsp_Position_PID::lasterror</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52" kindref="member">bsp_Position_PID::Kp</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="138"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68" kindref="member">bsp_Position_PID::Ki</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75" kindref="member">bsp_Position_PID::Kd</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05" kindref="member">bsp_Position_PID::integral</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">bsp_Position_PID::result</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a" kindref="member">bsp_Position_PID::result_H</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="143"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196" kindref="member">bsp_Position_PID::result_L</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="144"><highlight class="normal">}</highlight></codeline>
<codeline lineno="145"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="155" refid="classbsp___position___p_i_d_1aa16c488294e5bfba71c8ef83ee76a250" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="classbsp___position___p_i_d_1ac50b1ff29153eed1fcb252a3eee2aa69" kindref="member">bsp_Position_PID::bsp_Position_PID</ref>(</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>Kp,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>Ki,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>Kd,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>target,</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>result_H,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>result_L)<sp/>{</highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a04921569cfe25681f8763beaae01c1bc" kindref="member">bsp_Position_PID::target</ref><sp/>=<sp/><ref refid="classbsp___position___p_i_d_1a04921569cfe25681f8763beaae01c1bc" kindref="member">target</ref>;</highlight></codeline>
<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a04a54e038d2229f330e1913ce8b8aada" kindref="member">bsp_Position_PID::lasterror</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="160"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52" kindref="member">bsp_Position_PID::Kp</ref><sp/>=<sp/><ref refid="classbsp___position___p_i_d_1aa2ea863045a5bc0785693013154b6a52" kindref="member">Kp</ref>;</highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68" kindref="member">bsp_Position_PID::Ki</ref><sp/>=<sp/><ref refid="classbsp___position___p_i_d_1a58c60be7603ec356bbe428fb989d4e68" kindref="member">Ki</ref>;</highlight></codeline>
<codeline lineno="162"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75" kindref="member">bsp_Position_PID::Kd</ref><sp/>=<sp/><ref refid="classbsp___position___p_i_d_1a1678e1ea6b9e6ea56fde93df5aad4f75" kindref="member">Kd</ref>;</highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a9e7c0b93c1936f3aca77800997f99c05" kindref="member">bsp_Position_PID::integral</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a77ecc1d6378fb03cc63c9a3a263c90b2" kindref="member">bsp_Position_PID::result</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a08bba095208d3dcdb8c07e741dc3a77a" kindref="member">bsp_Position_PID::result_H</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___position___p_i_d_1a42a8eb4e1c96871e1b4eacb0cf46e196" kindref="member">bsp_Position_PID::result_L</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="167"><highlight class="normal">}</highlight></codeline>
<codeline lineno="168"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="169" refid="classbsp___position___p_i_d_1a9cd33ec75d5ca15939d132644d4ceea8" refkind="member"><highlight class="normal"><ref refid="classbsp___position___p_i_d_1a9cd33ec75d5ca15939d132644d4ceea8" kindref="member">bsp_Position_PID::~bsp_Position_PID</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
<codeline lineno="170"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="171" refid="classbsp___increment___p_i_d_1a1dec336ee026d7e1148dfb68052055d2" refkind="member"><highlight class="normal"><ref refid="classbsp___increment___p_i_d_1a1dec336ee026d7e1148dfb68052055d2" kindref="member">bsp_Increment_PID::bsp_Increment_PID</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="172"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a6f2142a4e99c8a6bd5b604fe53c8e6b1" kindref="member">bsp_Increment_PID::target</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="173"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b" kindref="member">bsp_Increment_PID::lasterror</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="174"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82" kindref="member">bsp_Increment_PID::preerror</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="175"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b" kindref="member">bsp_Increment_PID::Kp</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="176"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec" kindref="member">bsp_Increment_PID::Ki</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="177"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627" kindref="member">bsp_Increment_PID::Kd</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">bsp_Increment_PID::result</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a" kindref="member">bsp_Increment_PID::result_H</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd" kindref="member">bsp_Increment_PID::result_L</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="181"><highlight class="normal">}</highlight></codeline>
<codeline lineno="182"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="192" refid="classbsp___increment___p_i_d_1a33b07a33c9ba2accc10a4bcf5a8b7be9" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="classbsp___increment___p_i_d_1a1dec336ee026d7e1148dfb68052055d2" kindref="member">bsp_Increment_PID::bsp_Increment_PID</ref>(</highlight></codeline>
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>Kp,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>Ki,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>Kd,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>target,</highlight></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>result_H,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>result_L)<sp/>{</highlight></codeline>
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a6f2142a4e99c8a6bd5b604fe53c8e6b1" kindref="member">bsp_Increment_PID::target</ref><sp/>=<sp/><ref refid="classbsp___increment___p_i_d_1a6f2142a4e99c8a6bd5b604fe53c8e6b1" kindref="member">target</ref>;</highlight></codeline>
<codeline lineno="196"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1aaf7c047c9aa963bb6b7524fd8fc6242b" kindref="member">bsp_Increment_PID::lasterror</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a8df6076b4bb4d4d1e4c7ee2777defb82" kindref="member">bsp_Increment_PID::preerror</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="198"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b" kindref="member">bsp_Increment_PID::Kp</ref><sp/>=<sp/><ref refid="classbsp___increment___p_i_d_1a4bd6b08091f76f357da2dab404a3a97b" kindref="member">Kp</ref>;</highlight></codeline>
<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec" kindref="member">bsp_Increment_PID::Ki</ref><sp/>=<sp/><ref refid="classbsp___increment___p_i_d_1a368b2b2bd531ef46a9518889f9f07eec" kindref="member">Ki</ref>;</highlight></codeline>
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627" kindref="member">bsp_Increment_PID::Kd</ref><sp/>=<sp/><ref refid="classbsp___increment___p_i_d_1acbe47a0c902698a6e11db1d0651a2627" kindref="member">Kd</ref>;</highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a7e567c42a56682a0f24e39a92a562e40" kindref="member">bsp_Increment_PID::result</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a90bb2ca2ebe196b8063183336c63186a" kindref="member">bsp_Increment_PID::result_H</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___increment___p_i_d_1a17d1546dc185ae482d4d7b72af1ac5cd" kindref="member">bsp_Increment_PID::result_L</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="204"><highlight class="normal">}</highlight></codeline>
<codeline lineno="205"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="206" refid="classbsp___increment___p_i_d_1a3eb46ef6d491464f9cc8bfdc0ded1155" refkind="member"><highlight class="normal"><ref refid="classbsp___increment___p_i_d_1a3eb46ef6d491464f9cc8bfdc0ded1155" kindref="member">bsp_Increment_PID::~bsp_Increment_PID</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
</programlisting>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_PID.cpp"/>
</compounddef>
</doxygen>