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

83 lines
17 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___digit_8cpp_source" xml:lang="zh">
<title>bsp_Digit.cpp</title>
<indexterm><primary>D:/gitt/MicrochipFor32/bsp_Device/bsp_Digit.cpp</primary></indexterm>
浏览该文件的文档.<programlisting linenumbering="unnumbered"><anchor xml:id="_bsp___digit_8cpp_source_1l00001"/>00001 <emphasis role="comment">/*----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00002"/>00002 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___digit_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___digit_8cpp_source_1l00004"/>00004 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00005"/>00005 <emphasis role="comment">&#32;#&#32;&#32;本软件按原样提供,无任何明示或暗示</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00006"/>00006 <emphasis role="comment">&#32;#&#32;&#32;在任何情况下,作者都不承担任何损害赔偿责任</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00007"/>00007 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00008"/>00008 <emphasis role="comment">&#32;#&#32;&#32;使用的许可声明:</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00009"/>00009 <emphasis role="comment">&#32;#&#32;&#32;1.&#32;&#32;不得歪曲本软件的来源,你不能声称你编写了原始软件.</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00010"/>00010 <emphasis role="comment">&#32;#&#32;&#32;2.&#32;&#32;免费授予以任何目的,前提是版权声明出现在所有副本中.</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00011"/>00011 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;并且版权声明和许可声明同时出现.</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00012"/>00012 <emphasis role="comment">&#32;#&#32;&#32;3.&#32;&#32;你有使用,复制,修改,分发,和销售本软件的许可.</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00013"/>00013 <emphasis role="comment">&#32;#&#32;&#32;4.&#32;&#32;如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00014"/>00014 <emphasis role="comment">&#32;#&#32;&#32;5.&#32;&#32;本通知不得从任何来源删除或更改.</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00015"/>00015 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00016"/>00016 <emphasis role="comment">&#32;#&#32;&#32;Yuankang&#32;Liang(XerolySkinner)</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00017"/>00017 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;E-mail:zabbcccbbaz@163.com</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00018"/>00018 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;QQ:2715099320</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00019"/>00019 <emphasis role="comment">&#32;#&#32;&#32;&#32;&#32;&#32;&#32;Mobile&#32;Phone:13005636215</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00020"/>00020 <emphasis role="comment">&#32;#</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00021"/>00021 <emphasis role="comment">&#32;#&#32;&#32;All&#32;rights&#32;reserved.</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00022"/>00022 <emphasis role="comment">&#32;*/</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00023"/>00023
<anchor xml:id="_bsp___digit_8cpp_source_1l00034"/>00034 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00035"/>00035 <emphasis role="comment">//&#32;&#32;头文件</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00036"/>00036 <emphasis role="preprocessor">#include&#32;&quot;<link linkend="_bsp___digit_8h">bsp_Digit.h</link>&quot;</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00038"/>00038 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00039"/>00039 <emphasis role="comment">//&#32;&#32;成员函数</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00040"/>00040 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00041"/><link linkend="_classbsp___digit_1a0608eae8fc20fea488b578b4440a5973">00041</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___digit_1a0608eae8fc20fea488b578b4440a5973">bsp_Digit::dat</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;SendVal)&#32;{
<anchor xml:id="_bsp___digit_8cpp_source_1l00042"/>00042 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">for</emphasis>&#32;(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;i&#32;=&#32;0;&#32;i&#32;&lt;&#32;8;&#32;i++)&#32;{
<anchor xml:id="_bsp___digit_8cpp_source_1l00043"/>00043 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;HAL_GPIO_WritePin(<link linkend="_classbsp___digit_1a74829f4e2ae8a7a041b8bd249d93242f">GPIOx_MOSIO</link>,<link linkend="_classbsp___digit_1ac3fb901cccd34c97bcdff090060d0eb9">GPIO_Pin_MOSIO</link>,((SendVal&#32;&lt;&lt;&#32;i)&#32;&amp;&#32;0x80)?GPIO_PIN_SET:&#32;GPIO_PIN_RESET);
<anchor xml:id="_bsp___digit_8cpp_source_1l00044"/>00044 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;HAL_GPIO_WritePin(<link linkend="_classbsp___digit_1a128d72d3f9705a6635fd5ba3a8f11219">GPIOx_S_CLK</link>,<link linkend="_classbsp___digit_1af642ff2d193c72cd6e44da895997936e">GPIO_Pin_S_CLK</link>,GPIO_PIN_RESET);
<anchor xml:id="_bsp___digit_8cpp_source_1l00045"/>00045 &#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;HAL_GPIO_WritePin(<link linkend="_classbsp___digit_1a128d72d3f9705a6635fd5ba3a8f11219">GPIOx_S_CLK</link>,&#32;<link linkend="_classbsp___digit_1af642ff2d193c72cd6e44da895997936e">GPIO_Pin_S_CLK</link>,&#32;GPIO_PIN_SET);}}
<anchor xml:id="_bsp___digit_8cpp_source_1l00046"/>00046 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00047"/><link linkend="_classbsp___digit_1a8362aa8c9725ab2000e4b1f3c816de8b">00047</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___digit_1a8362aa8c9725ab2000e4b1f3c816de8b">bsp_Digit::com</link>(<emphasis role="keywordtype">void</emphasis>)&#32;{
<anchor xml:id="_bsp___digit_8cpp_source_1l00048"/>00048 &#32;&#32;&#32;&#32;HAL_GPIO_WritePin(<link linkend="_classbsp___digit_1a35b4df52093b6f34e2bd0e99a6fac473">GPIOx_R_CLK</link>,&#32;<link linkend="_classbsp___digit_1a3914358421f51f43a9098ddd37d83a59">GPIO_Pin_R_CLK</link>,&#32;GPIO_PIN_RESET);
<anchor xml:id="_bsp___digit_8cpp_source_1l00049"/>00049 &#32;&#32;&#32;&#32;HAL_GPIO_WritePin(<link linkend="_classbsp___digit_1a35b4df52093b6f34e2bd0e99a6fac473">GPIOx_R_CLK</link>,&#32;<link linkend="_classbsp___digit_1a3914358421f51f43a9098ddd37d83a59">GPIO_Pin_R_CLK</link>,&#32;GPIO_PIN_SET);}
<anchor xml:id="_bsp___digit_8cpp_source_1l00050"/>00050 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00051"/><link linkend="_classbsp___digit_1a9f91f206f32eef69e91c5975ad12db6b">00051</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___digit_1a9f91f206f32eef69e91c5975ad12db6b">bsp_Digit::DatCom</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;SendVal,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;cha){
<anchor xml:id="_bsp___digit_8cpp_source_1l00052"/>00052 &#32;&#32;&#32;&#32;<link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link>&#32;i=0xFFFF/<link linkend="_classbsp___digit_1a26571e190c198e068d6aa92af584352d">division</link>;
<anchor xml:id="_bsp___digit_8cpp_source_1l00053"/>00053 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a0608eae8fc20fea488b578b4440a5973">dat</link>(<link linkend="_classbsp___digit_1af87156a3cca1c199e469b0ce7b8ce7f9">Polarity</link>?~<link linkend="_bsp___digit_8h_1a9c1f3d665aa750ca904e9e547a2c98f8">digit_ca</link>[SendVal]:<link linkend="_bsp___digit_8h_1a9c1f3d665aa750ca904e9e547a2c98f8">digit_ca</link>[SendVal]);
<anchor xml:id="_bsp___digit_8cpp_source_1l00054"/>00054 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a0608eae8fc20fea488b578b4440a5973">dat</link>(1&lt;&lt;cha);
<anchor xml:id="_bsp___digit_8cpp_source_1l00055"/>00055 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a8362aa8c9725ab2000e4b1f3c816de8b">com</link>();
<anchor xml:id="_bsp___digit_8cpp_source_1l00056"/>00056 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">while</emphasis>(++i);}
<anchor xml:id="_bsp___digit_8cpp_source_1l00057"/>00057 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00058"/><link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">00058</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">bsp_Digit::num</link>(<link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link>&#32;num){
<anchor xml:id="_bsp___digit_8cpp_source_1l00059"/>00059 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a9f91f206f32eef69e91c5975ad12db6b">DatCom</link>(<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>%10,0);<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>/=10;
<anchor xml:id="_bsp___digit_8cpp_source_1l00060"/>00060 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a9f91f206f32eef69e91c5975ad12db6b">DatCom</link>(<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>%10,1);<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>/=10;
<anchor xml:id="_bsp___digit_8cpp_source_1l00061"/>00061 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a9f91f206f32eef69e91c5975ad12db6b">DatCom</link>(<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>%10,2);<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>/=10;
<anchor xml:id="_bsp___digit_8cpp_source_1l00062"/>00062 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a9f91f206f32eef69e91c5975ad12db6b">DatCom</link>(<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>%10,3);<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>/=10;}
<anchor xml:id="_bsp___digit_8cpp_source_1l00063"/>00063 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00064"/><link linkend="_classbsp___digit_1a1b609eee1a20e598fdb7090b8a0b0524">00064</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___digit_1a1b609eee1a20e598fdb7090b8a0b0524">bsp_Digit::dop</link>(<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;cha){
<anchor xml:id="_bsp___digit_8cpp_source_1l00065"/>00065 &#32;&#32;&#32;&#32;<link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link>&#32;i=0xFFFF/<link linkend="_classbsp___digit_1a26571e190c198e068d6aa92af584352d">division</link>;
<anchor xml:id="_bsp___digit_8cpp_source_1l00066"/>00066 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a0608eae8fc20fea488b578b4440a5973">dat</link>(<link linkend="_classbsp___digit_1af87156a3cca1c199e469b0ce7b8ce7f9">Polarity</link>?0x80:0x7E);
<anchor xml:id="_bsp___digit_8cpp_source_1l00067"/>00067 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a0608eae8fc20fea488b578b4440a5973">dat</link>(1&lt;&lt;cha);
<anchor xml:id="_bsp___digit_8cpp_source_1l00068"/>00068 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a8362aa8c9725ab2000e4b1f3c816de8b">com</link>();
<anchor xml:id="_bsp___digit_8cpp_source_1l00069"/>00069 &#32;&#32;&#32;&#32;<emphasis role="keywordflow">while</emphasis>(++i);}
<anchor xml:id="_bsp___digit_8cpp_source_1l00070"/>00070 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00071"/><link linkend="_classbsp___digit_1a7bde5d953a88e04dae985b3ce82a386e">00071</link> <emphasis role="keywordtype">void</emphasis>&#32;<link linkend="_classbsp___digit_1a7bde5d953a88e04dae985b3ce82a386e">bsp_Digit::numdop</link>(<link linkend="_varint_8h_1ace9d960e74685e2cd84b36132dbbf8aa">u16</link>&#32;num,<link linkend="_varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca">u8</link>&#32;cha){
<anchor xml:id="_bsp___digit_8cpp_source_1l00072"/>00072 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">bsp_Digit::num</link>(<link linkend="_classbsp___digit_1a37e6984660f0b60322d420c766107b40">num</link>);
<anchor xml:id="_bsp___digit_8cpp_source_1l00073"/>00073 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a1b609eee1a20e598fdb7090b8a0b0524">bsp_Digit::dop</link>(cha);}
<anchor xml:id="_bsp___digit_8cpp_source_1l00075"/>00075 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00076"/>00076 <emphasis role="comment">//&#32;&#32;构造函数</emphasis>
<anchor xml:id="_bsp___digit_8cpp_source_1l00077"/><link linkend="_classbsp___digit_1a83071caacf301b37cf47b6eee55c2818">00077</link> <link linkend="_classbsp___digit_1a83071caacf301b37cf47b6eee55c2818">bsp_Digit::bsp_Digit</link>(
<anchor xml:id="_bsp___digit_8cpp_source_1l00078"/>00078 &#32;&#32;&#32;&#32;GPIO_TypeDef*&#32;GPIOx_MOSIO,&#32;uint16_t&#32;GPIO_Pin_MOSIO,
<anchor xml:id="_bsp___digit_8cpp_source_1l00079"/>00079 &#32;&#32;&#32;&#32;GPIO_TypeDef*&#32;GPIOx_S_CLK,&#32;uint16_t&#32;GPIO_Pin_S_CLK,
<anchor xml:id="_bsp___digit_8cpp_source_1l00080"/>00080 &#32;&#32;&#32;&#32;GPIO_TypeDef*&#32;GPIOx_R_CLK,&#32;uint16_t&#32;GPIO_Pin_R_CLK,
<anchor xml:id="_bsp___digit_8cpp_source_1l00081"/>00081 &#32;&#32;&#32;&#32;<emphasis role="keywordtype">bool</emphasis>&#32;Polarity){
<anchor xml:id="_bsp___digit_8cpp_source_1l00082"/>00082 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a26571e190c198e068d6aa92af584352d">bsp_Digit::division</link>=2;
<anchor xml:id="_bsp___digit_8cpp_source_1l00083"/>00083 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1af87156a3cca1c199e469b0ce7b8ce7f9">bsp_Digit::Polarity</link>&#32;=&#32;<link linkend="_classbsp___digit_1af87156a3cca1c199e469b0ce7b8ce7f9">Polarity</link>;
<anchor xml:id="_bsp___digit_8cpp_source_1l00084"/>00084 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a74829f4e2ae8a7a041b8bd249d93242f">bsp_Digit::GPIOx_MOSIO</link>&#32;=&#32;<link linkend="_classbsp___digit_1a74829f4e2ae8a7a041b8bd249d93242f">GPIOx_MOSIO</link>;
<anchor xml:id="_bsp___digit_8cpp_source_1l00085"/>00085 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1ac3fb901cccd34c97bcdff090060d0eb9">bsp_Digit::GPIO_Pin_MOSIO</link>&#32;=&#32;<link linkend="_classbsp___digit_1ac3fb901cccd34c97bcdff090060d0eb9">GPIO_Pin_MOSIO</link>;
<anchor xml:id="_bsp___digit_8cpp_source_1l00086"/>00086 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a128d72d3f9705a6635fd5ba3a8f11219">bsp_Digit::GPIOx_S_CLK</link>&#32;=&#32;<link linkend="_classbsp___digit_1a128d72d3f9705a6635fd5ba3a8f11219">GPIOx_S_CLK</link>;
<anchor xml:id="_bsp___digit_8cpp_source_1l00087"/>00087 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1af642ff2d193c72cd6e44da895997936e">bsp_Digit::GPIO_Pin_S_CLK</link>&#32;=&#32;<link linkend="_classbsp___digit_1af642ff2d193c72cd6e44da895997936e">GPIO_Pin_S_CLK</link>;
<anchor xml:id="_bsp___digit_8cpp_source_1l00088"/>00088 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a35b4df52093b6f34e2bd0e99a6fac473">bsp_Digit::GPIOx_R_CLK</link>&#32;=&#32;<link linkend="_classbsp___digit_1a35b4df52093b6f34e2bd0e99a6fac473">GPIOx_R_CLK</link>;
<anchor xml:id="_bsp___digit_8cpp_source_1l00089"/>00089 &#32;&#32;&#32;&#32;<link linkend="_classbsp___digit_1a3914358421f51f43a9098ddd37d83a59">bsp_Digit::GPIO_Pin_R_CLK</link>&#32;=&#32;<link linkend="_classbsp___digit_1a3914358421f51f43a9098ddd37d83a59">GPIO_Pin_R_CLK</link>;}
</programlisting></section>