📄 main_8c.html
字号:
00103 00104 00106 <span class="keywordflow">for</span>( ;; )00107 {00108 00109 <span class="keywordflow">if</span>( ( <a class="code" href="main_8c.html#a3">state</a> == <a class="code" href="main_8h.html#a26a4">ST_AVR_READY</a> ) && ( <a class="code" href="AVRGSM__api_8c.html#a0">rx_ack</a> == 1 ) ) <span class="comment">//New SMS</span>00110 {00111 00112 <a class="code" href="main_8c.html#a3">state</a> = nextstate = <a class="code" href="main_8h.html#a26a9">ST_AVR_NEW_SMS_function</a>; <span class="comment">//Setting new state</span>00113 statetext = <a class="code" href="types_8h.html#a3">NULL</a>;00114 pStateFunc = <a class="code" href="STATE__functions_8c.html#a5">ST_get_index</a>;00115 }00116 00117 <span class="comment">// Plain menu text</span>00118 <span class="keywordflow">if</span>( statetext )00119 {00120 00121 <a class="code" href="Lcd__functions_8h.html#a0">LCD_puts_f</a>( statetext, 1 );00122 <a class="code" href="Lcd__functions_8h.html#a5">LCD_Colon</a>( 0 );00123 statetext = <a class="code" href="types_8h.html#a3">NULL</a>;00124 }00125 00126 <span class="comment">//Get input</span>00127 <a class="code" href="main_8h.html#a27">input</a> = <a class="code" href="button_8c.html#a7">getkey</a>( );00128 00129 <span class="keywordflow">if</span> ( pStateFunc )00130 {00131 00132 <span class="comment">// When in this state, we must call the state function</span>00133 nextstate = pStateFunc(input);00134 }00135 00136 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="main_8h.html#a27">input</a> != <a class="code" href="main_8h.html#a27a17">KEY_NULL</a>)00137 {00138 00139 <span class="comment">// Plain menu, clock the state machine</span>00140 nextstate = <a class="code" href="main_8h.html#a24">StateMachine</a>(state, input);00141 }00142 00143 <span class="keywordflow">if</span> (nextstate != <a class="code" href="main_8c.html#a3">state</a>)00144 {00145 <a class="code" href="main_8c.html#a3">state</a> = nextstate;00146 00147 <span class="keywordflow">for</span> (i=0; <a class="code" href="menu_8h.html#a11">menu_state</a>[i].<a class="code" href="structMENU__STATE.html#o2">state</a>; i++)00148 {00149 00150 <span class="keywordflow">if</span> (<a class="code" href="menu_8h.html#a11">menu_state</a>[i].<a class="code" href="structMENU__STATE.html#o2">state</a> == <a class="code" href="main_8c.html#a3">state</a>)00151 {00152 00153 statetext = <a class="code" href="menu_8h.html#a11">menu_state</a>[i].<a class="code" href="structMENU__STATE.html#o1">pText</a>;00154 pStateFunc = <a class="code" href="menu_8h.html#a11">menu_state</a>[i].<a class="code" href="structMENU__STATE.html#o0">pFunc</a>;00155 <span class="keywordflow">break</span>;00156 }00157 }00158 }00159 }00160 }</div></pre><p>Here is the call graph for this function:<p><center><img src="main_8c_a4_cgraph.png" border="0" usemap="#main_8c_a4_cgraph_map" alt=""></center><map name="main_8c_a4_cgraph_map"><area href="button_8c.html#a7" shape="rect" coords="131,7,192,33" alt=""><area href="main_8c.html#a6" shape="rect" coords="115,57,208,84" alt=""><area href="Lcd__functions_8h.html#a5" shape="rect" coords="116,108,207,135" alt=""><area href="Lcd__functions_8h.html#a0" shape="rect" coords="116,159,207,185" alt=""><area href="STATE__functions_8c.html#a5" shape="rect" coords="110,209,214,236" alt=""><area href="main_8h.html#a24" shape="rect" coords="110,260,214,287" alt=""><area href="button_8c.html#a3" shape="rect" coords="296,7,382,33" alt=""><area href="AVRGSM__com_8h.html#a7" shape="rect" coords="300,57,378,84" alt=""><area href="LCD__driver_8c.html#a11" shape="rect" coords="302,108,376,135" alt=""><area href="AVRGSM__com_8c.html#a13" shape="rect" coords="475,57,584,84" alt=""><area href="LCD__driver_8h.html#a20" shape="rect" coords="464,108,595,135" alt=""><area href="AVRGSM__tools_8c.html#a0" shape="rect" coords="263,209,415,236" alt=""><area href="AVRGSM__com_8c.html#a23" shape="rect" coords="487,159,572,185" alt=""><area href="AVRGSM__com_8c.html#a22" shape="rect" coords="488,209,571,236" alt=""><area href="AVRGSM__zip_8h.html#a5" shape="rect" coords="494,260,566,287" alt=""></map> </td> </tr></table><a class="anchor" name="a5" doxytag="main.c::StateMachine" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> unsigned char StateMachine </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">char </td> <td class="mdname" nowrap> <em>state</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>unsigned char </td> <td class="mdname" nowrap> <em>stimuli</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>This function controls the state machine. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>state</em> </td><td>Present state </td></tr> <tr><td></td><td valign=top><em>stimuli</em> </td><td>Input from joypad</td></tr> </table></dl><dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>nextstate</em> </td><td>New state of the system </td></tr> </table></dl><p>Definition at line <a class="el" href="main_8c-source.html#l00171">171</a> of file <a class="el" href="main_8c-source.html">main.c</a>.<p>References <a class="el" href="menu_8h-source.html#l00032">MENU_NEXTSTATE::input</a>, <a class="el" href="menu_8h-source.html#l00065">menu_nextstate</a>, <a class="el" href="menu_8h-source.html#l00033">MENU_NEXTSTATE::nextstate</a>, <a class="el" href="main_8c-source.html#l00071">state</a>, and <a class="el" href="menu_8h-source.html#l00031">MENU_NEXTSTATE::state</a>.<p>Referenced by <a class="el" href="main_8c-source.html#l00084">main()</a>.<p><pre class="fragment"><div>00172 {00173 00174 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nextstate = <a class="code" href="main_8c.html#a3">state</a>; <span class="comment">// Default stay in same state</span>00175 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> i;00176 00177 <span class="keywordflow">for</span> ( i=0; <a class="code" href="menu_8h.html#a10">menu_nextstate</a>[i].<a class="code" href="structMENU__NEXTSTATE.html#o2">state</a>; i++ )00178 {00179 00180 <span class="keywordflow">if</span> ( ( <a class="code" href="menu_8h.html#a10">menu_nextstate</a>[i].<a class="code" href="structMENU__NEXTSTATE.html#o2">state</a> == <a class="code" href="main_8c.html#a3">state</a> ) && ( <a class="code" href="menu_8h.html#a10">menu_nextstate</a>[i].<a class="code" href="structMENU__NEXTSTATE.html#o0">input</a> == stimuli ) )00181 {00182 00183 <span class="comment">// This is the one!</span>00184 nextstate = <a class="code" href="menu_8h.html#a10">menu_nextstate</a>[i].<a class="code" href="structMENU__NEXTSTATE.html#o1">nextstate</a>;00185 <span class="keywordflow">break</span>;00186 }00187 }00188 00189 <span class="keywordflow">return</span> nextstate;00190 }</div></pre> </td> </tr></table><hr><h2>Variable Documentation</h2><a class="anchor" name="a2" doxytag="main.c::LCD_character_table" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> __flash unsigned int <a class="el" href="main_8c.html#a2">LCD_character_table</a>[] </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><p>Definition at line <a class="el" href="main_8c-source.html#l00069">69</a> of file <a class="el" href="main_8c-source.html">main.c</a>.<p>Referenced by <a class="el" href="LCD__driver_8c-source.html#l00174">LCD_WriteDigit()</a>. </td> </tr></table><a class="anchor" name="a1" doxytag="main.c::rx_ack" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> int <a class="el" href="main_8c.html#a1">rx_ack</a> </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Extern flag from AVRSMS_com.c. <p><p>Definition at line <a class="el" href="main_8c-source.html#l00067">67</a> of file <a class="el" href="main_8c-source.html">main.c</a>. </td> </tr></table><a class="anchor" name="a3" doxytag="main.c::state" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> unsigned char <a class="el" href="main_8c.html#a3">state</a> </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><p>Definition at line <a class="el" href="main_8c-source.html#l00071">71</a> of file <a class="el" href="main_8c-source.html">main.c</a>.<p>Referenced by <a class="el" href="main_8c-source.html#l00084">main()</a>, and <a class="el" href="main_8c-source.html#l00171">StateMachine()</a>. </td> </tr></table><hr size="1"><address style="align: right;"><small>Generated on Tue Nov 1 16:21:40 2005 for AVR323 Interfacing GSM modems by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.7 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -