Files
MicrochipFor32/Doc/docbook/bsp___i_i_c_8cpp_source.xml
XerolySkinner 08f9f63eb3 内容大更新
更加规范化
加入modbus类
优化帮助文档
2022-11-22 03:43:24 +08:00

148 lines
29 KiB
XML

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="_bsp___i_i_c_8cpp_source" xml:lang="zh">
<title>bsp_IIC.cpp</title>
<indexterm><primary>D:/gitt/MicrochipFor32/bsp_Device/bsp_IIC.cpp</primary></indexterm>
浏览该文件的文档.<programlisting linenumbering="unnumbered"><anchor xml:id="_bsp___i_i_c_8cpp_source_1l00001"/>00001 <emphasis role="comment">/*----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00002"/>00002 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00003"/>00003 <emphasis role="comment">&#32;#&#32;&#32;Copyright&#32;(c)&#32;2022&#32;Yuankang&#32;Liang(XerolySkinner)</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00004"/>00004 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00005"/>00005 <emphasis role="comment">&#32;#&#32;&#32;本软件按原样提供,无任何明示或暗示</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00006"/>00006 <emphasis role="comment">&#32;#&#32;&#32;在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00007"/>00007 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00008"/>00008 <emphasis role="comment">&#32;#&#32;&#32;使用的许可声明:</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00009"/>00009 <emphasis role="comment">&#32;#&#32;&#32;1.&#32;&#32;不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00010"/>00010 <emphasis role="comment">&#32;#&#32;&#32;2.&#32;&#32;免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00011"/>00011 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;并且版权声明和许可声明同时出现.</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00012"/>00012 <emphasis role="comment">&#32;#&#32;&#32;3.&#32;&#32;你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00013"/>00013 <emphasis role="comment">&#32;#&#32;&#32;4.&#32;&#32;如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00014"/>00014 <emphasis role="comment">&#32;#&#32;&#32;5.&#32;&#32;本通知不得从任何来源删除或更改.</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00015"/>00015 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00016"/>00016 <emphasis role="comment">&#32;#&#32;&#32;Yuankang&#32;Liang(XerolySkinner)</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00017"/>00017 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;E-mail:zabbcccbbaz@163.com</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00018"/>00018 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;QQ:2715099320</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00019"/>00019 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;Mobile&#32;Phone:13005636215</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00020"/>00020 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00021"/>00021 <emphasis role="comment">&#32;#&#32;&#32;All&#32;rights&#32;reserved.</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00022"/>00022 <emphasis role="comment">&#32;*/</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00023"/>00023 &#32;
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00037"/>00037 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00038"/>00038 <emphasis role="comment">//&#32;&#32;头文件</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00039"/>00039 <emphasis role="preprocessor">#include&#32;&quot;<link linkend="_bsp___i_i_c_8h">bsp_IIC.h</link>&quot;</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00041"/>00041 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00042"/>00042 <emphasis role="comment">//&#32;&#32;底层程序</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00043"/>00043 <emphasis role="comment">//&#32;&#32;</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00047"/><link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">00047</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">bsp_IIC::IIC_Start</link>(<emphasis role="keywordtype">void</emphasis>)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00048"/>00048 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00049"/>00049 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00050"/>00050 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00051"/>00051 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00052"/>00052 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00053"/>00053 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00054"/>00054 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00055"/>00055 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00059"/><link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">00059</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">bsp_IIC::IIC_Stop</link>(<emphasis role="keywordtype">void</emphasis>)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00060"/>00060 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00061"/>00061 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00062"/>00062 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00063"/>00063 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00064"/>00064 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00065"/>00065 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00066"/>00066 <emphasis role="comment">//发送应答或非应答信号</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00071"/><link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">00071</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">bsp_IIC::IIC_SendAck</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;ackbit)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00072"/>00072 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00073"/>00073 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(ackbit);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00074"/>00074 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00075"/>00075 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00076"/>00076 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00077"/>00077 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00078"/>00078 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00079"/>00079 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00080"/>00080 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00085"/><link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">00085</link> <emphasis role="comment"></emphasis><link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">bsp_IIC::IIC_WaitAck</link>(<emphasis role="keywordtype">void</emphasis>)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00086"/>00086 &#32;&#32;&#32;&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;ackbit;
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00087"/>00087 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00088"/>00088 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00089"/>00089 &#32;&#32;&#32;&#32;ackbit&#32;=&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7ae4ead84d2c3bbc3f2403d9a5157a3f94">IIC_READ</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00090"/>00090 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00091"/>00091 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00092"/>00092 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">return</emphasis>&#32;ackbit;}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00093"/>00093 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00098"/><link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">00098</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">bsp_IIC::IIC_SendByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;byt)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00099"/>00099 &#32;&#32;&#32;&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;i;
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00100"/>00100 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">for</emphasis>&#32;(i&#32;=&#32;0;&#32;i&#32;&lt;&#32;8;&#32;i++)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00101"/>00101 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00102"/>00102 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00103"/>00103 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>((byt&#32;&amp;&#32;0x80)&#32;!=&#32;0);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00104"/>00104 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00105"/>00105 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00106"/>00106 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;byt&#32;&lt;&lt;=&#32;1;
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00107"/>00107 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00108"/>00108 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00109"/>00109 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00114"/><link linkend="_classbsp___i_i_c_1a15201c6a6bd1affde8da0fc642f62272">00114</link> <emphasis role="comment"></emphasis><link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<link linkend="_classbsp___i_i_c_1a15201c6a6bd1affde8da0fc642f62272">bsp_IIC::IIC_RecByte</link>(<emphasis role="keywordtype">void</emphasis>)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00115"/>00115 &#32;&#32;&#32;&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;i=0,&#32;da=0;
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00116"/>00116 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">for</emphasis>&#32;(i&#32;=&#32;0;&#32;i&#32;&lt;&#32;8;&#32;i++)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00117"/>00117 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00118"/>00118 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00119"/>00119 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;da&#32;&lt;&lt;=&#32;1;
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00120"/>00120 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keywordflow">if</emphasis>&#32;(<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7ae4ead84d2c3bbc3f2403d9a5157a3f94">IIC_READ</link>))da&#32;|=&#32;1;
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00121"/>00121 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00122"/>00122 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00123"/>00123 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">return</emphasis>&#32;da;}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00125"/>00125 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00126"/>00126 <emphasis role="comment">//&#32;&#32;封装程序</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00127"/>00127 <emphasis role="comment">//&#32;&#32;</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00136"/><link linkend="_classbsp___i_i_c_1a9f4cdf777e69f407b155ffdba5b9e7c8">00136</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___i_i_c_1a9f4cdf777e69f407b155ffdba5b9e7c8">bsp_IIC::IIC_WriteOneByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<emphasis role="keywordtype">id</emphasis>,&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;addr,&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;dat)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00137"/>00137 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00138"/>00138 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<emphasis role="keywordtype">id</emphasis>&#32;&lt;&lt;&#32;1);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00139"/>00139 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00140"/>00140 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00141"/>00141 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00142"/>00142 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(dat);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00143"/>00143 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00144"/>00144 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00145"/>00145 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00153"/><link linkend="_classbsp___i_i_c_1a9effd40b26cbf6f321d0f0db3e2f09c3">00153</link> <emphasis role="comment"></emphasis><link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<link linkend="_classbsp___i_i_c_1a9effd40b26cbf6f321d0f0db3e2f09c3">bsp_IIC::IIC_ReadOneByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<emphasis role="keywordtype">id</emphasis>,&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;addr)&#32;{
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00154"/>00154 &#32;&#32;&#32;&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;temp&#32;=&#32;0;
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00155"/>00155 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00156"/>00156 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<emphasis role="keywordtype">id</emphasis>&#32;&lt;&lt;&#32;1);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00157"/>00157 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00158"/>00158 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00159"/>00159 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(0);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00160"/>00160 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00161"/>00161 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>((<emphasis role="keywordtype">id</emphasis>&#32;&lt;&lt;&#32;1)&#32;|&#32;0x01);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00162"/>00162 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(0);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00163"/>00163 &#32;&#32;&#32;&#32;temp&#32;=&#32;<link linkend="_classbsp___i_i_c_1a15201c6a6bd1affde8da0fc642f62272">IIC_RecByte</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00164"/>00164 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(1);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00165"/>00165 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00166"/>00166 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">return</emphasis>&#32;temp;}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00167"/>00167 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00177"/><link linkend="_classbsp___i_i_c_1a9d5d55340f9c43998763ecd0fb67b88c">00177</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___i_i_c_1a9d5d55340f9c43998763ecd0fb67b88c">bsp_IIC::IIC_Write</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<emphasis role="keywordtype">id</emphasis>,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;addr,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>*&#32;dat,<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;len){
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00178"/>00178 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00179"/>00179 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<emphasis role="keywordtype">id</emphasis>&lt;&lt;1);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00180"/>00180 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00181"/>00181 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00182"/>00182 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00183"/>00183 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">for</emphasis>(<emphasis role="keywordtype">int</emphasis>&#32;i=0;i&lt;len;i++){
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00184"/>00184 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(dat[i]);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00185"/>00185 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00186"/>00186 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00187"/>00187 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">return</emphasis>;}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00188"/>00188 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00198"/><link linkend="_classbsp___i_i_c_1aae8c08f59f3fce9dce27f9f04beda683">00198</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___i_i_c_1aae8c08f59f3fce9dce27f9f04beda683">bsp_IIC::IIC_Read</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<emphasis role="keywordtype">id</emphasis>,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;addr,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>*&#32;dat,<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link>&#32;len){
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00199"/>00199 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00200"/>00200 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<emphasis role="keywordtype">id</emphasis>&lt;&lt;1);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00201"/>00201 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00202"/>00202 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00203"/>00203 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(0);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00204"/>00204 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00205"/>00205 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>((<emphasis role="keywordtype">id</emphasis>&lt;&lt;1)|0x01);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00206"/>00206 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(0);
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00207"/>00207 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">for</emphasis>(<emphasis role="keywordtype">int</emphasis>&#32;i=0;i&lt;len;i++){
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00208"/>00208 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;dat[i]=<link linkend="_classbsp___i_i_c_1a15201c6a6bd1affde8da0fc642f62272">IIC_RecByte</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00209"/>00209 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(i==(len-1));}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00210"/>00210 &#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00211"/>00211 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">return</emphasis>;}
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00213"/>00213
</programlisting></section>