📄 avrgsm__api_8c-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>AVR323 Interfacing GSM modems: AVRGSM_FILES/AVRGSM_api.c Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.7 --><div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div><h1>AVRGSM_FILES/AVRGSM_api.c</h1><a href="AVRGSM__api_8c.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 <span class="comment">// This file has been prepared for Doxygen automatic documentation generation.</span>00022 <span class="comment"></span><span class="comment">//Used for SPLINT</span>00023 <span class="preprocessor">#ifdef S_SPLINT_S</span>00024 <span class="preprocessor"></span><span class="preprocessor"> #include"<a class="code" href="splint_8h.html">splint.h</a>"</span>00025 <span class="preprocessor">#endif</span>00026 <span class="preprocessor"></span>00027 00028 <span class="comment">//Includes</span>00029 <span class="preprocessor">#include<inavr.h></span>00030 00031 <span class="preprocessor">#include"<a class="code" href="AVRGSM__com_8h.html">AVRGSM_com.h</a>"</span>00032 <span class="preprocessor">#include"<a class="code" href="AVRGSM__zip_8h.html">AVRGSM_zip.h</a>"</span>00033 <span class="preprocessor">#include"<a class="code" href="AVRGSM__header_8h.html">AVRGSM_header.h</a>"</span>00034 <span class="preprocessor">#include"<a class="code" href="AVRGSM__tools_8h.html">AVRGSM_tools.h</a>"</span>00035 <span class="preprocessor">#include"<a class="code" href="AVRGSM__api_8h.html">AVRGSM_api.h</a>"</span>00036 00037 <a name="l00039"></a><a class="code" href="AVRGSM__api_8c.html#a0">00039</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="AVRGSM__api_8c.html#a0">rx_ack</a>;00040 <a name="l00042"></a><a class="code" href="AVRGSM__api_8c.html#a1">00042</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="AVRGSM__api_8c.html#a1">msgbuff</a>[161];00043 <a name="l00045"></a><a class="code" href="AVRGSM__api_8c.html#a2">00045</a> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __flash <a class="code" href="AVRGSM__api_8c.html#a2">ATE0</a>[] = <span class="stringliteral">"ATE0\r\n"</span>; <a name="l00046"></a><a class="code" href="AVRGSM__api_8c.html#a3">00046</a> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __flash <a class="code" href="AVRGSM__api_8c.html#a3">AT_CNMI</a>[] = <span class="stringliteral">"AT+CNMI=1,1,,,1\r\n"</span>; <a name="l00047"></a><a class="code" href="AVRGSM__api_8c.html#a4">00047</a> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __flash <a class="code" href="AVRGSM__api_8c.html#a4">AT_CPMS</a>[] = <span class="stringliteral">"AT+CPMS=\"ME\",\"ME\",\"ME\"\r\n"</span>; <a name="l00048"></a><a class="code" href="AVRGSM__api_8c.html#a5">00048</a> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __flash <a class="code" href="AVRGSM__api_8c.html#a5">AT_CMGD</a>[] = <span class="stringliteral">"AT+CMGD="</span>; <a name="l00049"></a><a class="code" href="AVRGSM__api_8c.html#a6">00049</a> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __flash <a class="code" href="AVRGSM__api_8c.html#a6">AT_CMGR</a>[] = <span class="stringliteral">"AT+CMGR="</span>; <a name="l00050"></a><a class="code" href="AVRGSM__api_8c.html#a7">00050</a> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __flash <a class="code" href="AVRGSM__api_8c.html#a7">AT_CMGS</a>[] = <span class="stringliteral">"AT+CMGS="</span>; <a name="l00051"></a><a class="code" href="AVRGSM__api_8c.html#a8">00051</a> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> __flash <a class="code" href="AVRGSM__api_8c.html#a8">CRLF</a>[] = <span class="stringliteral">"\r\n"</span>; 00052 00053 00055 <span class="keywordtype">int</span> <a class="code" href="AVRGSM__api_8c.html#a9">API_check_acknowledge</a>( <span class="keywordtype">void</span> ); <span class="comment">//Checks acknowledge from phone</span>00056 00057 <a name="l00073"></a><a class="code" href="AVRGSM__api_8h.html#a0">00073</a> <span class="keywordtype">int</span> <a class="code" href="AVRGSM__api_8c.html#a10">API_modem_init</a>( <span class="keywordtype">void</span> )00074 {00075 00076 <a class="code" href="AVRGSM__com_8c.html#a13">COM_rx_reset</a>( ); <span class="comment">//Reset system</span>00077 <a class="code" href="AVRGSM__com_8h.html#a11">COM_setSearchString</a>( <a class="code" href="AVRGSM__com_8h.html#a3">OK_</a> ); <span class="comment">//Set OK to be search string</span>00078 <a class="code" href="AVRGSM__com_8h.html#a15">COM_putsf</a>( <a class="code" href="AVRGSM__api_8c.html#a2">ATE0</a> ); <span class="comment">//Send turn echo off</span>00079 <a class="code" href="AVRGSM__com_8c.html#a14">COM_rx_on</a>( ); <span class="comment">//Receiver on</span>00080 00081 <span class="keywordflow">if</span>( <a class="code" href="AVRGSM__api_8c.html#a9">API_check_acknowledge</a>( ) > 0 ) <span class="comment">//Echo off = OK</span>00082 {00083 <a class="code" href="AVRGSM__com_8h.html#a15">COM_putsf</a>(<a class="code" href="AVRGSM__api_8c.html#a4">AT_CPMS</a>); <span class="comment">//Send preferred storage</span>00084 <a class="code" href="AVRGSM__com_8c.html#a14">COM_rx_on</a>( ); <span class="comment">//Receiver on</span>00085 00086 <span class="keywordflow">if</span>( <a class="code" href="AVRGSM__api_8c.html#a9">API_check_acknowledge</a>( ) > 0 ) <span class="comment">//Preferred storage = OK</span>00087 {00088 <a class="code" href="AVRGSM__com_8h.html#a15">COM_putsf</a>(<a class="code" href="AVRGSM__api_8c.html#a3">AT_CNMI</a>); <span class="comment">//Send preferred indication of new messages</span>00089 <a class="code" href="AVRGSM__com_8c.html#a14">COM_rx_on</a>( ); <span class="comment">//Receiver on</span>00090 00091 <span class="keywordflow">if</span>( <a class="code" href="AVRGSM__api_8c.html#a9">API_check_acknowledge</a>( ) > 0 ) <span class="comment">//Preferred indication = OK</span>00092 {00093 <span class="keywordflow">return</span> 1;00094 }00095 00096 <span class="keywordflow">else</span> <span class="comment">//Preferred indication != OK</span>00097 {00098 <span class="keywordflow">return</span> -2;00099 }00100 }00101 00102 <span class="keywordflow">else</span> <span class="comment">//Preferred storage != OK</span>00103 {00104 <span class="keywordflow">return</span> -1;00105 }00106 }00107 00108 <span class="keywordflow">else</span> <span class="comment">//Echo off != OK</span>00109 {00110 <span class="keywordflow">return</span> 0;00111 }00112 }00113 00114 <a name="l00125"></a><a class="code" href="AVRGSM__api_8h.html#a1">00125</a> <span class="keywordtype">int</span> <a class="code" href="AVRGSM__api_8h.html#a1">API_deletemsg</a>( <span class="keywordtype">int</span> index )00126 {00127 00128 <a class="code" href="AVRGSM__com_8c.html#a13">COM_rx_reset</a>( ); <span class="comment">//Reset system</span>00129 <a class="code" href="AVRGSM__com_8h.html#a11">COM_setSearchString</a>( <a class="code" href="AVRGSM__com_8h.html#a3">OK_</a> ); <span class="comment">//Set OK to be search string</span>00130 <a class="code" href="AVRGSM__com_8h.html#a15">COM_putsf</a>( <a class="code" href="AVRGSM__api_8c.html#a5">AT_CMGD</a> ); <span class="comment">//Delete message</span>00131 <a class="code" href="AVRGSM__com_8h.html#a13">COM_put_integer</a>( index ); <span class="comment">//@index</span>00132 <a class="code" href="AVRGSM__com_8h.html#a15">COM_putsf</a>( <a class="code" href="AVRGSM__api_8c.html#a8">CRLF</a> ); <span class="comment">//CR+LF</span>00133 <a class="code" href="AVRGSM__com_8c.html#a14">COM_rx_on</a>( ); <span class="comment">//Receiver on</span>00134 00135 <span class="keywordflow">if</span>( <a class="code" href="AVRGSM__api_8c.html#a9">API_check_acknowledge</a>( ) > 0 ) <span class="comment">//Delete = OK</span>00136 {00137 <span class="keywordflow">return</span> 1;00138 }00139 00140 <span class="keywordflow">else</span> <span class="comment">//Delete != OK</span>00141 {00142 <span class="keywordflow">return</span> 0;00143 }00144 }00145 00146 <a name="l00160"></a><a class="code" href="AVRGSM__api_8h.html#a2">00160</a> <span class="keywordtype">int</span> <a class="code" href="AVRGSM__api_8h.html#a2">API_sendmsg</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *msg )00161 {00162 00164 <span class="keywordtype">int</span> payload_len, len; <span class="comment">//Total length of message, and length of user text</span>00165 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> payload_len_c[3], jump;00166 00167 <span class="comment">//Init</span>00168 payload_len = len = 0;00169 payload_len_c[0] = jump = <span class="charliteral">'\0'</span>;00170 00171 <span class="comment">//If necessary turn interrupts off</span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -