⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avrgsm__com_8c-source.html

📁 SMS傳送Sourcode,compiler with C,AT command
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00171                 <a class="code" href="AVRGSM__com_8c.html#a3">searchStr</a> = <a class="code" href="AVRGSM__com_8h.html#a6">CRLF_</a>;00172             }00173 00174             <span class="keywordflow">else</span>                                    <span class="comment">//Normal acknowledgement</span>00175             {00176                 <a class="code" href="AVRGSM__api_8c.html#a0">rx_ack</a> = 1;                         <span class="comment">//Set new message flag</span>00177                 UCSR0B &amp;= ~( 1 &lt;&lt; RXCIE0 );         <span class="comment">// Disable RX interrupt</span>00178             }00179         }00180     }00181 00182     <span class="keywordflow">else</span>00183     {00184         <a class="code" href="AVRGSM__com_8c.html#a4">rx_i</a> = 0;                                   <span class="comment">//Not valid search pattern...start again.</span>00185     }00186 }00187 00188 <a name="l00198"></a><a class="code" href="AVRGSM__com_8h.html#a12">00198</a> <span class="keywordtype">int</span> <a class="code" href="AVRGSM__com_8h.html#a12">COM_putchar</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> data )00199 {00200 00201     <span class="comment">//Local variables</span>00202     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;00203 00204     <span class="keywordflow">for</span>( i = 0; !( UCSR0A &amp; ( 1 &lt;&lt; UDRE0 ) ); i++ ) <span class="comment">// Wait for empty transmit buffer</span>00205     {00206         <span class="keywordflow">if</span>( i &gt; <a class="code" href="AVRGSM__com_8h.html#a2">RX_WAIT</a> )                           <span class="comment">//How long one should wait</span>00207         {00208             <span class="keywordflow">return</span> -1;                              <span class="comment">//Give feedback to function caller</span>00209         }00210     }00211 00212     UDR0 = data;                                    <span class="comment">// Start transmittion       </span>00213 00214     <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)data;                               <span class="comment">//Cast and return int value</span>00215 }00216 00217 <a name="l00224"></a><a class="code" href="AVRGSM__com_8h.html#a13">00224</a> <span class="keywordtype">void</span> <a class="code" href="AVRGSM__com_8h.html#a13">COM_put_integer</a>( <span class="keywordtype">int</span> i )00225 {00226 00228     <span class="keywordtype">int</span> ii;00229     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> int_buf[5];00230 00231     <span class="keywordflow">if</span> (i &lt; 0)                                              <span class="comment">//Integer is negative</span>00232     {00233         i = -i;                                             <span class="comment">//Convert to positive Integer</span>00234         <a class="code" href="AVRGSM__com_8h.html#a12">COM_putchar</a>(<span class="charliteral">'-'</span>);                                   <span class="comment">//Print - sign</span>00235     }00236 00237     <span class="keywordflow">for</span> (ii=0; ii &lt; 5; )                                    <span class="comment">//Convert Integer to char array</span>00238     {00239         int_buf[ii++] = <span class="charliteral">'0'</span>+ i % 10;                        <span class="comment">//Find carry using modulo operation</span>00240         i = i / 10;                                         <span class="comment">//Move towards MSB</span>00241     }00242     <span class="keywordflow">do</span>{ ii--; }<span class="keywordflow">while</span>( (int_buf[ii] == <span class="charliteral">'0'</span>) &amp;&amp; (ii != 0) );  <span class="comment">//Remove leading 0's</span>00243     <span class="keywordflow">do</span>{ <a class="code" href="AVRGSM__com_8h.html#a12">COM_putchar</a>( int_buf[ii--] ); }<span class="keywordflow">while</span> (ii &gt;= 0);     <span class="comment">//Print int-&gt;char array convertion</span>00244 00245 }00246 00247 <a name="l00254"></a><a class="code" href="AVRGSM__com_8h.html#a14">00254</a> <span class="keywordtype">void</span> <a class="code" href="AVRGSM__com_8h.html#a14">COM_puts</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *str)00255 {00256 00257     <span class="keywordflow">for</span>( ;*str != <span class="charliteral">'\0'</span>; )00258     {00259         <a class="code" href="AVRGSM__com_8h.html#a12">COM_putchar</a>( *str++ );00260     }00261 }00262 00263 <a name="l00270"></a><a class="code" href="AVRGSM__com_8h.html#a15">00270</a> <span class="keywordtype">void</span> <a class="code" href="AVRGSM__com_8h.html#a15">COM_putsf</a>( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __flash *fstr )00271 {00272 00273     <span class="keywordflow">for</span>( ;*fstr != <span class="charliteral">'\0'</span>; )00274     {00275         <a class="code" href="AVRGSM__com_8h.html#a12">COM_putchar</a>( *fstr++ );00276     }00277 }00278 00279 <a name="l00289"></a><a class="code" href="AVRGSM__com_8h.html#a16">00289</a> <span class="keywordtype">int</span> <a class="code" href="AVRGSM__com_8c.html#a22">COM_trim</a>( <span class="keywordtype">void</span> )00290 {00291 00293     <span class="keywordtype">int</span> i;00294     <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> temp;00295 00296     <span class="keywordflow">for</span>( i = <a class="code" href="AVRGSM__com_8c.html#a5">rx_wr_i</a> - 1; i &gt;= 0; i--)                                                      <span class="comment">//Run through COM_in[] backwards</span>00297     {00298         temp = <a class="code" href="AVRGSM__com_8c.html#a2">rx_buffer</a>[i];                                                                <span class="comment">//rx_buff[i] into temp</span>00299         <span class="keywordflow">if</span>( ( temp != <span class="charliteral">'\r'</span> ) &amp;&amp; ( temp != <span class="charliteral">'\n'</span> ) &amp;&amp; ( temp != <span class="charliteral">'O'</span> ) &amp;&amp; ( temp != <span class="charliteral">'K'</span> ) )    <span class="comment">//If not equal to 'O', 'K', '\r' or '\n', break</span>00300         {00301             <span class="keywordflow">break</span>;                                                                          <span class="comment">//Do break</span>00302         }00303     }00304 00305     <a class="code" href="AVRGSM__com_8c.html#a2">rx_buffer</a>[ i+1 ] = <span class="charliteral">'\0'</span>;                                                                <span class="comment">//Terminate trimmed string</span>00306 00307     <span class="keywordflow">return</span> i;                                                                               <span class="comment">//Return new length</span>00308 }00309 00310 <a name="l00317"></a><a class="code" href="AVRGSM__com_8h.html#a17">00317</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* <a class="code" href="AVRGSM__com_8c.html#a23">COM_gets</a>( <span class="keywordtype">void</span> )00318 {00319   <span class="keywordflow">return</span> <a class="code" href="AVRGSM__com_8c.html#a2">rx_buffer</a>;00320 }</div></pre><hr size="1"><address style="align: right;"><small>Generated on Tue Nov 1 16:21:39 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 + -