148 lines
29 KiB
XML
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"> #</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00003"/>00003 <emphasis role="comment"> #  Copyright (c) 2022 Yuankang Liang(XerolySkinner)</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00004"/>00004 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00005"/>00005 <emphasis role="comment"> #  本软件按原样提供,无任何明示或暗示</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00006"/>00006 <emphasis role="comment"> #  在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00007"/>00007 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00008"/>00008 <emphasis role="comment"> #  使用的许可声明:</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00009"/>00009 <emphasis role="comment"> #  1.  不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00010"/>00010 <emphasis role="comment"> #  2.  免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00011"/>00011 <emphasis role="comment"> #      并且版权声明和许可声明同时出现.</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00012"/>00012 <emphasis role="comment"> #  3.  你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00013"/>00013 <emphasis role="comment"> #  4.  如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00014"/>00014 <emphasis role="comment"> #  5.  本通知不得从任何来源删除或更改.</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00015"/>00015 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00016"/>00016 <emphasis role="comment"> #  Yuankang Liang(XerolySkinner)</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00017"/>00017 <emphasis role="comment"> #      E-mail:zabbcccbbaz@163.com</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00018"/>00018 <emphasis role="comment"> #      QQ:2715099320</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00019"/>00019 <emphasis role="comment"> #      Mobile Phone:13005636215</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00020"/>00020 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00021"/>00021 <emphasis role="comment"> #  All rights reserved.</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00022"/>00022 <emphasis role="comment"> */</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00023"/>00023  
|
|
<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">//  头文件</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00039"/>00039 <emphasis role="preprocessor">#include "<link linkend="_bsp___i_i_c_8h">bsp_IIC.h</link>"</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">//  底层程序</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00043"/>00043 <emphasis role="comment">//  </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> <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">bsp_IIC::IIC_Start</link>(<emphasis role="keywordtype">void</emphasis>) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00048"/>00048     <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     <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     <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     <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00052"/>00052     <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     <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00054"/>00054     <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> <link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">bsp_IIC::IIC_Stop</link>(<emphasis role="keywordtype">void</emphasis>) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00060"/>00060     <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     <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     <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00063"/>00063     <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     <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> <link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">bsp_IIC::IIC_SendAck</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> ackbit) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00072"/>00072     <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     <link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(ackbit);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00074"/>00074     <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00075"/>00075     <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     <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00077"/>00077     <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     <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     <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> <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">bsp_IIC::IIC_WaitAck</link>(<emphasis role="keywordtype">void</emphasis>) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00086"/>00086     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> ackbit;
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00087"/>00087     <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     <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00089"/>00089     ackbit = <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     <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     <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00092"/>00092     <emphasis role="keywordflow">return</emphasis> 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> <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">bsp_IIC::IIC_SendByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> byt) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00099"/>00099     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> i;
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00100"/>00100     <emphasis role="keywordflow">for</emphasis> (i = 0; i < 8; i++) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00101"/>00101         <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         <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00103"/>00103         <link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>((byt & 0x80) != 0);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00104"/>00104         <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00105"/>00105         <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         byt <<= 1;
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00107"/>00107         <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();}
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00108"/>00108     <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> <link linkend="_classbsp___i_i_c_1a15201c6a6bd1affde8da0fc642f62272">bsp_IIC::IIC_RecByte</link>(<emphasis role="keywordtype">void</emphasis>) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00115"/>00115     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> i=0, da=0;
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00116"/>00116     <emphasis role="keywordflow">for</emphasis> (i = 0; i < 8; i++) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00117"/>00117         <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         <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00119"/>00119         da <<= 1;
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00120"/>00120         <emphasis role="keywordflow">if</emphasis> (<link linkend="_classbsp___i_i_c_1adf1ba1196ef163ab1958747744dd8a14">IIC_SDA</link>(<link linkend="_bsp___i_i_c_8h_1adf764cbdea00d65edcd07bb9953ad2b7ae4ead84d2c3bbc3f2403d9a5157a3f94">IIC_READ</link>))da |= 1;
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00121"/>00121         <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         <link linkend="_classbsp___i_i_c_1ad3d17035a8d19842ccabbf743a4405f4">IIC_Delay</link>();}
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00123"/>00123     <emphasis role="keywordflow">return</emphasis> 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">//  封装程序</emphasis>
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00127"/>00127 <emphasis role="comment">//  </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> <link linkend="_classbsp___i_i_c_1a9f4cdf777e69f407b155ffdba5b9e7c8">bsp_IIC::IIC_WriteOneByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> <emphasis role="keywordtype">id</emphasis>, <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> addr, <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> dat) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00137"/>00137     <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00138"/>00138     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<emphasis role="keywordtype">id</emphasis> << 1);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00139"/>00139     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00140"/>00140     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00141"/>00141     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00142"/>00142     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(dat);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00143"/>00143     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00144"/>00144     <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> <link linkend="_classbsp___i_i_c_1a9effd40b26cbf6f321d0f0db3e2f09c3">bsp_IIC::IIC_ReadOneByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> <emphasis role="keywordtype">id</emphasis>, <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> addr) {
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00154"/>00154     <link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> temp = 0;
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00155"/>00155     <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00156"/>00156     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<emphasis role="keywordtype">id</emphasis> << 1);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00157"/>00157     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00158"/>00158     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00159"/>00159     <link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(0);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00160"/>00160     <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00161"/>00161     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>((<emphasis role="keywordtype">id</emphasis> << 1) | 0x01);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00162"/>00162     <link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(0);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00163"/>00163     temp = <link linkend="_classbsp___i_i_c_1a15201c6a6bd1affde8da0fc642f62272">IIC_RecByte</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00164"/>00164     <link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(1);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00165"/>00165     <link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00166"/>00166     <emphasis role="keywordflow">return</emphasis> 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> <link linkend="_classbsp___i_i_c_1a9d5d55340f9c43998763ecd0fb67b88c">bsp_IIC::IIC_Write</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> <emphasis role="keywordtype">id</emphasis>,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> addr,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>* dat,<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link> len){
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00178"/>00178     <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00179"/>00179     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<emphasis role="keywordtype">id</emphasis><<1);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00180"/>00180     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00181"/>00181     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00182"/>00182     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00183"/>00183     <emphasis role="keywordflow">for</emphasis>(<emphasis role="keywordtype">int</emphasis> i=0;i<len;i++){
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00184"/>00184         <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(dat[i]);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00185"/>00185         <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();}
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00186"/>00186     <link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00187"/>00187     <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> <link linkend="_classbsp___i_i_c_1aae8c08f59f3fce9dce27f9f04beda683">bsp_IIC::IIC_Read</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> <emphasis role="keywordtype">id</emphasis>,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> addr,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>* dat,<link linkend="_varint_8h_1afaa62991928fb9fb18ff0db62a040aba">u32</link> len){
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00199"/>00199     <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00200"/>00200     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<emphasis role="keywordtype">id</emphasis><<1);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00201"/>00201     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00202"/>00202     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00203"/>00203     <link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(0);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00204"/>00204     <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00205"/>00205     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>((<emphasis role="keywordtype">id</emphasis><<1)|0x01);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00206"/>00206     <link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(0);
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00207"/>00207     <emphasis role="keywordflow">for</emphasis>(<emphasis role="keywordtype">int</emphasis> i=0;i<len;i++){
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00208"/>00208         dat[i]=<link linkend="_classbsp___i_i_c_1a15201c6a6bd1affde8da0fc642f62272">IIC_RecByte</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00209"/>00209         <link linkend="_classbsp___i_i_c_1a684793afa5c26e6d123ff6ad083342c8">IIC_SendAck</link>(i==(len-1));}
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00210"/>00210     <link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00211"/>00211     <emphasis role="keywordflow">return</emphasis>;}
|
|
<anchor xml:id="_bsp___i_i_c_8cpp_source_1l00213"/>00213
|
|
</programlisting></section>
|