Files
MicrochipFor32/Doc/docbook/bsp___i_i_c_8h_source.xml

61 lines
12 KiB
XML
Raw Normal View History

<?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_8h_source" xml:lang="zh">
<title>bsp_IIC.h</title>
<indexterm><primary>D:/gitt/MicrochipFor32/bsp_Device/bsp_IIC.h</primary></indexterm>
浏览该文件的文档.<programlisting linenumbering="unnumbered"><anchor xml:id="_bsp___i_i_c_8h_source_1l00001"/>00001 <emphasis role="comment">/*----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00002"/>00002 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_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_8h_source_1l00004"/>00004 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00005"/>00005 <emphasis role="comment">&#32;#&#32;&#32;本软件按原样提供,无任何明示或暗示</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00006"/>00006 <emphasis role="comment">&#32;#&#32;&#32;在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00007"/>00007 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00008"/>00008 <emphasis role="comment">&#32;#&#32;&#32;使用的许可声明:</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00009"/>00009 <emphasis role="comment">&#32;#&#32;&#32;1.&#32;&#32;不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00010"/>00010 <emphasis role="comment">&#32;#&#32;&#32;2.&#32;&#32;免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00011"/>00011 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;并且版权声明和许可声明同时出现.</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00012"/>00012 <emphasis role="comment">&#32;#&#32;&#32;3.&#32;&#32;你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00013"/>00013 <emphasis role="comment">&#32;#&#32;&#32;4.&#32;&#32;如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00014"/>00014 <emphasis role="comment">&#32;#&#32;&#32;5.&#32;&#32;本通知不得从任何来源删除或更改.</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00015"/>00015 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00016"/>00016 <emphasis role="comment">&#32;#&#32;&#32;Yuankang&#32;Liang(XerolySkinner)</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_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_8h_source_1l00018"/>00018 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;QQ:2715099320</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_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_8h_source_1l00020"/>00020 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00021"/>00021 <emphasis role="comment">&#32;#&#32;&#32;All&#32;rights&#32;reserved.</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00022"/>00022 <emphasis role="comment">&#32;*/</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00023"/>00023
<anchor xml:id="_bsp___i_i_c_8h_source_1l00035"/>00035 <emphasis role="preprocessor">#ifdef&#32;__cplusplus</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00036"/>00036 <emphasis role="preprocessor">#pragma&#32;once</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00037"/>00037 <emphasis role="preprocessor">#include&#32;&quot;<link linkend="_varint_8h">varint.h</link>&quot;</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00039"/>00039 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00040"/>00040 <emphasis role="comment">//&#32;&#32;枚举头</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00044"/>00044 <emphasis role="comment"></emphasis><emphasis role="keyword">enum</emphasis>&#32;{
<anchor xml:id="_bsp___i_i_c_8h_source_1l00045"/><link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">00045</link> &#32;&#32;&#32;&#32;<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a048bbf954430bbc34fa11280165ed534">IIC_RESET</link>,&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;
<anchor xml:id="_bsp___i_i_c_8h_source_1l00046"/><link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">00046</link> &#32;&#32;&#32;&#32;<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7a9e128b73c7beb33be6b4e953a7fddc66">IIC_SET</link>,&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;
<anchor xml:id="_bsp___i_i_c_8h_source_1l00047"/>00047 &#32;&#32;&#32;&#32;<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7ae4ead84d2c3bbc3f2403d9a5157a3f94">IIC_READ</link>&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;
<anchor xml:id="_bsp___i_i_c_8h_source_1l00048"/><link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7ae4ead84d2c3bbc3f2403d9a5157a3f94">00048</link> };
<anchor xml:id="_bsp___i_i_c_8h_source_1l00050"/>00050 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00051"/>00051 <emphasis role="comment">//&#32;&#32;类目</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00056"/><link linkend="_classbsp___i_i_c">00056</link> <emphasis role="comment"></emphasis><emphasis role="keyword">class&#32;</emphasis><link linkend="_classbsp___i_i_c">bsp_IIC</link>{
<anchor xml:id="_bsp___i_i_c_8h_source_1l00057"/>00057 &#32;&#32;&#32;&#32;<emphasis role="keyword">public</emphasis>:
<anchor xml:id="_bsp___i_i_c_8h_source_1l00058"/>00058 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keywordtype">void</emphasis>&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9f4cdf777e69f407b155ffdba5b9e7c8">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);
<anchor xml:id="_bsp___i_i_c_8h_source_1l00059"/>00059 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9effd40b26cbf6f321d0f0db3e2f09c3">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);
<anchor xml:id="_bsp___i_i_c_8h_source_1l00060"/>00060 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keywordtype">void</emphasis>&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a9d5d55340f9c43998763ecd0fb67b88c">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_8h_source_1l00061"/>00061 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keywordtype">void</emphasis>&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1aae8c08f59f3fce9dce27f9f04beda683">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_8h_source_1l00062"/>00062 &#32;&#32;&#32;&#32;<emphasis role="keyword">public</emphasis>:
<anchor xml:id="_bsp___i_i_c_8h_source_1l00063"/>00063 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keywordtype">void</emphasis>&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>(<emphasis role="keywordtype">void</emphasis>);
<anchor xml:id="_bsp___i_i_c_8h_source_1l00064"/>00064 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keywordtype">void</emphasis>&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>(<emphasis role="keywordtype">void</emphasis>);
<anchor xml:id="_bsp___i_i_c_8h_source_1l00065"/>00065 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keywordtype">void</emphasis>&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;ackbit);
<anchor xml:id="_bsp___i_i_c_8h_source_1l00066"/>00066 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>(<emphasis role="keywordtype">void</emphasis>);
<anchor xml:id="_bsp___i_i_c_8h_source_1l00067"/>00067 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keywordtype">void</emphasis>&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;byt);
<anchor xml:id="_bsp___i_i_c_8h_source_1l00068"/>00068 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;&#32;&#32;&#32;&#32;&#32;<link linkend="_classbsp___i_i_c_1a15201c6a6bd1affde8da0fc642f62272">IIC_RecByte</link>(<emphasis role="keywordtype">void</emphasis>);
<anchor xml:id="_bsp___i_i_c_8h_source_1l00069"/>00069 &#32;&#32;&#32;&#32;<emphasis role="keyword">protected</emphasis>:
<anchor xml:id="_bsp___i_i_c_8h_source_1l00077"/><link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">00077</link> &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keyword">virtual</emphasis>&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<link linkend="_classbsp___i_i_c_1a9c71db14d666983ab15621f119bdc171">IIC_SCK</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;var)&#32;=&#32;0;
<anchor xml:id="_bsp___i_i_c_8h_source_1l00085"/><link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">00085</link> &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keyword">virtual</emphasis>&#32;<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;var)&#32;=&#32;0;
<anchor xml:id="_bsp___i_i_c_8h_source_1l00091"/><link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">00091</link> &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;<emphasis role="keyword">virtual</emphasis>&#32;<emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>(<emphasis role="keywordtype">void</emphasis>)&#32;=&#32;0;
<anchor xml:id="_bsp___i_i_c_8h_source_1l00092"/>00092 &#32;&#32;&#32;&#32;};
<anchor xml:id="_bsp___i_i_c_8h_source_1l00094"/>00094 <emphasis role="preprocessor">#endif</emphasis>
<anchor xml:id="_bsp___i_i_c_8h_source_1l00095"/>00095
</programlisting></section>