\doxysection{FSM\+\_\+\+OOP/template/template\+FSM.h File Reference} \hypertarget{template_f_s_m_8h}{}\label{template_f_s_m_8h}\index{FSM\_OOP/template/templateFSM.h@{FSM\_OOP/template/templateFSM.h}} 对外暴露接口,外部可以设置状态机的信号 \doxysubsubsection*{Data Structures} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{struct_template_f_s_m_external_data}{Template\+FSMExternal\+Data}} \begin{DoxyCompactList}\small\item\em 自定义外部数据 \end{DoxyCompactList}\item struct \mbox{\hyperlink{struct_template_f_s_m_inner_data}{Template\+FSMInner\+Data}} \begin{DoxyCompactList}\small\item\em 自定义内部数据 \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Macros} \begin{DoxyCompactItemize} \item \#define \mbox{\hyperlink{template_f_s_m_8h_ab0325ef0b5aef6334743cdd7c1d70bd9}{Template\+FSM\+\_\+\+Input}}(p\+FSM)~((\mbox{\hyperlink{struct_template_f_s_m_external_data}{Template\+FSMExternal\+Data}} \texorpdfstring{$\ast$}{*})\mbox{\hyperlink{_f_s_m_8c_a9c285ac5bbad90b0b04de18d393cf4ce}{\+\_\+preload\+In}}((FSM \texorpdfstring{$\ast$}{*})p\+FSM)) \end{DoxyCompactItemize} \doxysubsubsection*{Typedefs} \begin{DoxyCompactItemize} \item \Hypertarget{template_f_s_m_8h_ad30e63631e0a6c61ac9cc9a47e31a5a5}\label{template_f_s_m_8h_ad30e63631e0a6c61ac9cc9a47e31a5a5} typedef struct Template\+FSMExternal\+Data {\bfseries Template\+FSMExternal\+Data} \begin{DoxyCompactList}\small\item\em 自定义外部数据 \end{DoxyCompactList}\item \Hypertarget{template_f_s_m_8h_adfdfb9e9cda040324f0952d1e8b80e05}\label{template_f_s_m_8h_adfdfb9e9cda040324f0952d1e8b80e05} typedef struct Template\+FSMInner\+Data {\bfseries Template\+FSMInner\+Data} \begin{DoxyCompactList}\small\item\em 自定义内部数据 \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Enumerations} \begin{DoxyCompactItemize} \item enum \mbox{\hyperlink{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1}{Template\+FSMSignals}} \{ \mbox{\hyperlink{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee}{Signal\+\_\+A}} = 1 , {\bfseries Signal\+\_\+B} \} \begin{DoxyCompactList}\small\item\em 自定义外部信号,目前最多15个 \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item Template\+FSM \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{template_f_s_m_8h_ab0fc4d91dbcaaffccd8f14e56173d696}{create\+Template\+FSM}} () \begin{DoxyCompactList}\small\item\em Create a Template FSM object. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Detailed Description} 对外暴露接口,外部可以设置状态机的信号 \begin{DoxyAuthor}{Author} 天神 (\href{mailto:dalaoshi@stu.xjtu.edu.cn}{\texttt{ dalaoshi@stu.\+xjtu.\+edu.\+cn}}) \end{DoxyAuthor} \begin{DoxyVersion}{Version} 2.\+1 \end{DoxyVersion} \begin{DoxyDate}{Date} 2024-\/05-\/07 \end{DoxyDate} \begin{DoxyCopyright}{Copyright} 天神创意无限公司 2024 \end{DoxyCopyright} \doxysubsection{Macro Definition Documentation} \Hypertarget{template_f_s_m_8h_ab0325ef0b5aef6334743cdd7c1d70bd9}\label{template_f_s_m_8h_ab0325ef0b5aef6334743cdd7c1d70bd9} \index{templateFSM.h@{templateFSM.h}!TemplateFSM\_Input@{TemplateFSM\_Input}} \index{TemplateFSM\_Input@{TemplateFSM\_Input}!templateFSM.h@{templateFSM.h}} \doxysubsubsection{\texorpdfstring{TemplateFSM\_Input}{TemplateFSM\_Input}} {\footnotesize\ttfamily \#define Template\+FSM\+\_\+\+Input(\begin{DoxyParamCaption}\item[{}]{p\+FSM }\end{DoxyParamCaption})~((\mbox{\hyperlink{struct_template_f_s_m_external_data}{Template\+FSMExternal\+Data}} \texorpdfstring{$\ast$}{*})\mbox{\hyperlink{_f_s_m_8c_a9c285ac5bbad90b0b04de18d393cf4ce}{\+\_\+preload\+In}}((FSM \texorpdfstring{$\ast$}{*})p\+FSM))} \begin{DoxyRefDesc}{Deprecated} \item[\mbox{\hyperlink{deprecated__deprecated000018}{Deprecated}}]暂时弃用 \end{DoxyRefDesc} \doxysubsection{Enumeration Type Documentation} \Hypertarget{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1}\label{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1} \index{templateFSM.h@{templateFSM.h}!TemplateFSMSignals@{TemplateFSMSignals}} \index{TemplateFSMSignals@{TemplateFSMSignals}!templateFSM.h@{templateFSM.h}} \doxysubsubsection{\texorpdfstring{TemplateFSMSignals}{TemplateFSMSignals}} {\footnotesize\ttfamily enum \mbox{\hyperlink{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1}{Template\+FSMSignals}}} 自定义外部信号,目前最多15个 因为是\+Unint16存储的信号位 \begin{DoxyEnumFields}{Enumerator} \raisebox{\heightof{T}}[0pt][0pt]{\index{Signal\_A@{Signal\_A}!templateFSM.h@{templateFSM.h}}\index{templateFSM.h@{templateFSM.h}!Signal\_A@{Signal\_A}}}\Hypertarget{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee}\label{template_f_s_m_8h_a62dbe2e9cfc18e5dc1229d428d794aa1acfabc94ee46cf07698eaa479452c78ee} Signal\+\_\+A&必须从1开始,0预留给\+Idle信号了 \\ \hline \end{DoxyEnumFields} \doxysubsection{Function Documentation} \Hypertarget{template_f_s_m_8h_ab0fc4d91dbcaaffccd8f14e56173d696}\label{template_f_s_m_8h_ab0fc4d91dbcaaffccd8f14e56173d696} \index{templateFSM.h@{templateFSM.h}!createTemplateFSM@{createTemplateFSM}} \index{createTemplateFSM@{createTemplateFSM}!templateFSM.h@{templateFSM.h}} \doxysubsubsection{\texorpdfstring{createTemplateFSM()}{createTemplateFSM()}} {\footnotesize\ttfamily Template\+FSM \texorpdfstring{$\ast$}{*} create\+Template\+FSM (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} Create a Template FSM object. 子类状态机细节对外隐藏,外部只能访问基类的公有函数来操作子类变量 \begin{DoxyReturn}{Returns} Template\+FSM\texorpdfstring{$\ast$}{*} \end{DoxyReturn}