72 lines
13 KiB
XML
72 lines
13 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___a_t24_c00_8cpp_source" xml:lang="zh">
|
|
<title>bsp_AT24C00.cpp</title>
|
|
<indexterm><primary>D:/gitt/MicrochipFor32/bsp_Device/bsp_AT24C00.cpp</primary></indexterm>
|
|
浏览该文件的文档.<programlisting linenumbering="unnumbered"><anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00001"/>00001 <emphasis role="comment">/*----------------------------------------------------------------------------------------------------</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00002"/>00002 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00003"/>00003 <emphasis role="comment"> #  Copyright (c) 2022 Yuankang Liang(XerolySkinner)</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00004"/>00004 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00005"/>00005 <emphasis role="comment"> #  本软件按原样提供,无任何明示或暗示</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00006"/>00006 <emphasis role="comment"> #  在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00007"/>00007 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00008"/>00008 <emphasis role="comment"> #  使用的许可声明:</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00009"/>00009 <emphasis role="comment"> #  1.  不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00010"/>00010 <emphasis role="comment"> #  2.  免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00011"/>00011 <emphasis role="comment"> #      并且版权声明和许可声明同时出现.</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00012"/>00012 <emphasis role="comment"> #  3.  你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00013"/>00013 <emphasis role="comment"> #  4.  如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00014"/>00014 <emphasis role="comment"> #  5.  本通知不得从任何来源删除或更改.</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00015"/>00015 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00016"/>00016 <emphasis role="comment"> #  Yuankang Liang(XerolySkinner)</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00017"/>00017 <emphasis role="comment"> #      E-mail:zabbcccbbaz@163.com</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00018"/>00018 <emphasis role="comment"> #      QQ:2715099320</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00019"/>00019 <emphasis role="comment"> #      Mobile Phone:13005636215</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00020"/>00020 <emphasis role="comment"> #</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00021"/>00021 <emphasis role="comment"> #  All rights reserved.</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00022"/>00022 <emphasis role="comment"> */</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00023"/>00023
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00035"/>00035 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00036"/>00036 <emphasis role="comment">//  头文件</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00037"/>00037 <emphasis role="preprocessor">#include "<link linkend="_varint_8h">varint.h</link>"</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00038"/>00038 <emphasis role="preprocessor">#include "main.h"</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00039"/>00039 <emphasis role="preprocessor">#include "<link linkend="_bsp___a_t24_c00_8h">bsp_AT24C00.h</link>"</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00041"/>00041 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00042"/>00042 <emphasis role="comment">//  程序</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00043"/>00043 <emphasis role="comment">//  </emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00047"/><link linkend="_classbsp___s_t_m32___a_t24_c00_1a7ba3cbef5e2eea37f514948f12f2119d">00047</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis> <link linkend="_classbsp___s_t_m32___a_t24_c00_1a7ba3cbef5e2eea37f514948f12f2119d">bsp_STM32_AT24C00::IIC_Delay</link>(<emphasis role="keywordtype">void</emphasis>){
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00048"/>00048     HAL_Delay(5);}
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00049"/>00049 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00055"/><link linkend="_classbsp___s_t_m32___a_t24_c00_1a43f5fb06621d92865d9289d996b3211a">00055</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis> <link linkend="_classbsp___s_t_m32___a_t24_c00_1a43f5fb06621d92865d9289d996b3211a">bsp_STM32_AT24C00::WriteOneByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> addr,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> dat){
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00056"/>00056     <link linkend="_classbsp___i_i_c_1a9f4cdf777e69f407b155ffdba5b9e7c8">IIC_WriteOneByte</link>(<link linkend="_classbsp___s_t_m32___a_t24_c00_1a7b81cd0d8fea1bb0ce4e4b0143612bde">Address</link>,addr,dat);}
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00057"/>00057 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00063"/><link linkend="_classbsp___s_t_m32___a_t24_c00_1a950e3a80ff49c538294bfedf8e893ff7">00063</link> <emphasis role="comment"></emphasis><link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> <link linkend="_classbsp___s_t_m32___a_t24_c00_1a950e3a80ff49c538294bfedf8e893ff7">bsp_STM32_AT24C00::ReadOneByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> addr){
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00064"/>00064     <emphasis role="keywordflow">return</emphasis> <link linkend="_classbsp___i_i_c_1a9effd40b26cbf6f321d0f0db3e2f09c3">IIC_ReadOneByte</link>(<link linkend="_classbsp___s_t_m32___a_t24_c00_1a7b81cd0d8fea1bb0ce4e4b0143612bde">Address</link>,addr);}
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00065"/>00065 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00072"/><link linkend="_classbsp___s_t_m32___a_t24_c00_1a2c0bcf4f2ffd4ef242c8d4423dca1ad0">00072</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis> <link linkend="_classbsp___s_t_m32___a_t24_c00_1a2c0bcf4f2ffd4ef242c8d4423dca1ad0">bsp_STM32_AT24C00::WriteByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> addr,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> *dat,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> len){
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00073"/>00073     <emphasis role="keywordtype">unsigned</emphasis> <emphasis role="keywordtype">int</emphasis> member=0;
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00074"/>00074     <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00075"/>00075     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<link linkend="_classbsp___s_t_m32___a_t24_c00_1a7b81cd0d8fea1bb0ce4e4b0143612bde">Address</link><<1);
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00076"/>00076     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00077"/>00077     <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr);
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00078"/>00078     <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00079"/>00079     <emphasis role="keywordflow">do</emphasis>{
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00080"/>00080         <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(dat[member]);
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00081"/>00081         <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00082"/>00082         member++;
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00083"/>00083         <emphasis role="keywordflow">if</emphasis>(((member+addr)%<link linkend="_classbsp___s_t_m32___a_t24_c00_1a5c1a52c22b16f15bf07358a4b181e2ff">Page</link>)==0){
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00084"/>00084             <link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00085"/>00085             <link linkend="_classbsp___s_t_m32___a_t24_c00_1a7ba3cbef5e2eea37f514948f12f2119d">IIC_Delay</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00086"/>00086             <link linkend="_classbsp___i_i_c_1a97ad38a37ad0140987ba79d878f0d9e9">IIC_Start</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00087"/>00087             <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(<link linkend="_classbsp___s_t_m32___a_t24_c00_1a7b81cd0d8fea1bb0ce4e4b0143612bde">Address</link><<1);
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00088"/>00088             <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00089"/>00089             <link linkend="_classbsp___i_i_c_1ae2e78aae0c89a4d6063d8ba60752acd5">IIC_SendByte</link>(addr+member);
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00090"/>00090             <link linkend="_classbsp___i_i_c_1a3f14f230b5876c529380d4f51a9c9c12">IIC_WaitAck</link>();}
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00091"/>00091         }<emphasis role="keywordflow">while</emphasis>(member!=len);
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00092"/>00092     <link linkend="_classbsp___i_i_c_1ae513e1a05cbbae2a6f37e6cbb3bb63e2">IIC_Stop</link>();
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00093"/>00093     <link linkend="_classbsp___s_t_m32___a_t24_c00_1a7ba3cbef5e2eea37f514948f12f2119d">IIC_Delay</link>();}
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00094"/>00094 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00101"/><link linkend="_classbsp___s_t_m32___a_t24_c00_1ad5b68ee911f6e46ab877049eaadc5b1c">00101</link> <emphasis role="comment"></emphasis><emphasis role="keywordtype">void</emphasis> <link linkend="_classbsp___s_t_m32___a_t24_c00_1ad5b68ee911f6e46ab877049eaadc5b1c">bsp_STM32_AT24C00::AT_ReadByte</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> addr,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> *dat,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link> len){
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00102"/>00102     <link linkend="_classbsp___i_i_c_1aae8c08f59f3fce9dce27f9f04beda683">IIC_Read</link>(<link linkend="_classbsp___s_t_m32___a_t24_c00_1a7b81cd0d8fea1bb0ce4e4b0143612bde">Address</link>,addr,dat,len);}
|
|
<anchor xml:id="_bsp___a_t24_c00_8cpp_source_1l00104"/>00104
|
|
</programlisting></section>
|