亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tsip_8c-source.html

?? ATMEL的AVR單片機庫文件
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<!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>Procyon AVRlib: tsip.c Source File</title><link href="dox.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.6 --><div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div><h1>tsip.c</h1><a href="tsip_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*! \file tsip.c \brief TSIP (Trimble Standard Interface Protocol) function library. */</span>00002 <span class="comment">//*****************************************************************************</span>00003 <span class="comment">//</span>00004 <span class="comment">// File Name    : 'tsip.c'</span>00005 <span class="comment">// Title        : TSIP (Trimble Standard Interface Protocol) function library</span>00006 <span class="comment">// Author       : Pascal Stang - Copyright (C) 2002-2003</span>00007 <span class="comment">// Created      : 2002.08.27</span>00008 <span class="comment">// Revised      : 2003.07.17</span>00009 <span class="comment">// Version      : 0.1</span>00010 <span class="comment">// Target MCU   : Atmel AVR Series</span>00011 <span class="comment">// Editor Tabs  : 4</span>00012 <span class="comment">//</span>00013 <span class="comment">// NOTE: This code is currently below version 1.0, and therefore is considered</span>00014 <span class="comment">// to be lacking in some functionality or documentation, or may not be fully</span>00015 <span class="comment">// tested.  Nonetheless, you can expect most functions to work.</span>00016 <span class="comment">//</span>00017 <span class="comment">// This code is distributed under the GNU Public License</span>00018 <span class="comment">//      which can be found at http://www.gnu.org/licenses/gpl.txt</span>00019 <span class="comment">//</span>00020 <span class="comment">//*****************************************************************************</span>00021 00022 <span class="preprocessor">#ifndef WIN32</span>00023 <span class="preprocessor"></span><span class="preprocessor">    #include &lt;avr/io.h&gt;</span>00024 <span class="preprocessor">    #include &lt;avr/pgmspace.h&gt;</span>00025 <span class="preprocessor">    #include &lt;math.h&gt;</span>00026 <span class="preprocessor">    #include &lt;stdlib.h&gt;</span>00027 <span class="preprocessor">#endif</span>00028 <span class="preprocessor"></span>00029 <span class="preprocessor">#include "<a class="code" href="global_8h.html">global.h</a>"</span>00030 <span class="preprocessor">#include "<a class="code" href="buffer_8h.html">buffer.h</a>"</span>00031 <span class="preprocessor">#include "<a class="code" href="rprintf_8h.html">rprintf.h</a>"</span>00032 <span class="preprocessor">#include "<a class="code" href="uart2_8h.html">uart2.h</a>"</span>00033 <span class="preprocessor">#include "<a class="code" href="gps_8h.html">gps.h</a>"</span>00034 00035 <span class="preprocessor">#include "<a class="code" href="tsip_8h.html">tsip.h</a>"</span>00036 00037 <span class="comment">// Program ROM constants</span>00038 00039 <span class="comment">// Global variables</span>00040 <span class="keyword">extern</span> GpsInfoType GpsInfo;00041 <span class="preprocessor">#define BUFFERSIZE 0x40</span>00042 <span class="preprocessor"></span>u08 TsipPacket[BUFFERSIZE];00043 u08 debug;00044 00045 <span class="comment">// function pointer to single byte output routine</span>00046 <span class="keyword">static</span> void (*TsipTxByteFunc)(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c);00047 00048 <span class="keywordtype">void</span> tsipInit(<span class="keywordtype">void</span> (*txbytefunc)(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c))00049 {00050     <span class="comment">// set transmit function</span>00051     <span class="comment">// (this function will be used for all SendPacket commands)</span>00052     TsipTxByteFunc = txbytefunc;00053 00054     <span class="comment">// set debug status</span>00055     debug = 0;00056 00057     <span class="comment">// compose GPS receiver configuration packet</span>00058     u08 packet[4];00059     packet[0] = BV(POS_LLA);00060     packet[1] = BV(VEL_ENU);00061     packet[2] = 0;00062     packet[3] = 0;00063     <span class="comment">// send configuration</span>00064     tsipSendPacket(TSIPTYPE_SET_IO_OPTIONS, 4, packet);00065 }00066 00067 <span class="keywordtype">void</span> tsipSendPacket(u08 tsipType, u08 dataLength, u08* data)00068 {00069     u08 i;00070     u08 dataIdx = 0;00071 00072     <span class="comment">// start of packet</span>00073     TsipPacket[dataIdx++] = DLE;00074     <span class="comment">// packet type</span>00075     TsipPacket[dataIdx++] = tsipType;00076     <span class="comment">// add packet data</span>00077     <span class="keywordflow">for</span>(i=0; i&lt;dataLength; i++)00078     {00079         <span class="keywordflow">if</span>(*data == DLE)00080         {00081             <span class="comment">// do double-DLE escape sequence</span>00082             TsipPacket[dataIdx++] = *data;00083             TsipPacket[dataIdx++] = *data++;00084         }00085         <span class="keywordflow">else</span>00086             TsipPacket[dataIdx++] = *data++;00087     }00088     <span class="comment">// end of packet</span>00089     TsipPacket[dataIdx++] = DLE;00090     TsipPacket[dataIdx++] = ETX;00091 00092     <span class="keywordflow">for</span>(i=0; i&lt;dataIdx; i++)00093         TsipTxByteFunc(TsipPacket[i]);00094 }00095 00096 u08 tsipProcess(cBuffer* rxBuffer)00097 {00098     u08 foundpacket = FALSE;00099     u08 startFlag = FALSE;00100     u08 data;00101     u08 i,j,k;00102 00103     u08 TsipPacketIdx;00104     00105     <span class="comment">// process the receive buffer</span>00106     <span class="comment">// go through buffer looking for packets</span>00107     <span class="keywordflow">while</span>(rxBuffer-&gt;datalength &gt; 1)00108     {00109         <span class="comment">// look for a potential start of TSIP packet</span>00110         <span class="keywordflow">if</span>(<a class="code" href="buffer_8h.html#a4">bufferGetAtIndex</a>(rxBuffer,0) == DLE)00111         {00112             <span class="comment">// make sure the next byte is not DLE or ETX</span>00113             data = <a class="code" href="buffer_8h.html#a4">bufferGetAtIndex</a>(rxBuffer,1);00114             <span class="keywordflow">if</span>((data != DLE) &amp;&amp; (data != ETX))00115             {00116                 <span class="comment">// found potential start</span>00117                 startFlag = TRUE;00118                 <span class="comment">// done looking for start</span>00119                 <span class="keywordflow">break</span>;00120             }00121         }00122         <span class="keywordflow">else</span>00123             <span class="comment">// not DLE, dump character from buffer</span>00124             <a class="code" href="buffer_8h.html#a2">bufferGetFromFront</a>(rxBuffer);00125     }00126     00127     <span class="comment">// if we detected a start, look for end of packet</span>00128     <span class="keywordflow">if</span>(startFlag)00129     {00130         <span class="keywordflow">for</span>(i=1; i&lt;(rxBuffer-&gt;datalength)-1; i++)00131         {00132             <span class="comment">// check for potential end of TSIP packet</span>00133             <span class="keywordflow">if</span>((<a class="code" href="buffer_8h.html#a4">bufferGetAtIndex</a>(rxBuffer,i) == DLE) &amp;&amp; (<a class="code" href="buffer_8h.html#a4">bufferGetAtIndex</a>(rxBuffer,i+1) == ETX))00134             {00135                 <span class="comment">// have a packet end</span>00136                 <span class="comment">// dump initial DLE</span>00137                 <a class="code" href="buffer_8h.html#a2">bufferGetFromFront</a>(rxBuffer);00138                 <span class="comment">// copy data to TsipPacket</span>00139                 TsipPacketIdx = 0;00140                 <span class="keywordflow">for</span>(j=0; j&lt;(i-1); j++)00141                 {00142                     data = <a class="code" href="buffer_8h.html#a2">bufferGetFromFront</a>(rxBuffer);00143                     <span class="keywordflow">if</span>(data == DLE)00144                     {00145                         <span class="keywordflow">if</span>(<a class="code" href="buffer_8h.html#a4">bufferGetAtIndex</a>(rxBuffer,0) == DLE)00146                         {00147                             <span class="comment">// found double-DLE escape sequence, skip one of them</span>00148                             <a class="code" href="buffer_8h.html#a2">bufferGetFromFront</a>(rxBuffer);00149                             j++;00150                         }00151                     }00152                     TsipPacket[TsipPacketIdx++] = data;00153                 }00154                 <span class="comment">// dump ending DLE+ETX</span>00155                 <a class="code" href="buffer_8h.html#a2">bufferGetFromFront</a>(rxBuffer);00156                 <a class="code" href="buffer_8h.html#a2">bufferGetFromFront</a>(rxBuffer);00157 00158                 <span class="comment">// found a packet</span>00159                 <span class="keywordflow">if</span>(debug)00160                 {00161                     rprintf(<span class="stringliteral">"Rx TSIP packet type: 0x%x  len: %d  rawlen: %d\r\n"</span>,00162                         TsipPacket[0],00163                         TsipPacketIdx,00164                         i);00165                     <span class="keywordflow">for</span>(k=0; k&lt;TsipPacketIdx; k++)00166                     {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品乱人伦中文| 精品一区二区影视| 色综合久久久久久久| 日韩一区二区在线观看视频播放| 国产精品蜜臀在线观看| 久久精品国产99久久6| 欧美三级日韩在线| 亚洲综合在线视频| 色婷婷久久久综合中文字幕| 国产精品午夜在线观看| 高清av一区二区| 国产精品三级视频| 成人午夜在线视频| 国产精品麻豆欧美日韩ww| 成人综合在线观看| 亚洲丝袜精品丝袜在线| 91黄色免费看| 麻豆成人综合网| 国产精品欧美经典| 欧美综合色免费| 日韩激情av在线| 欧美成人一区二区三区片免费| 国产一区视频在线看| 国产精品网友自拍| 欧美军同video69gay| 麻豆一区二区三| 亚洲人成伊人成综合网小说| 国内精品在线播放| 99在线精品视频| 亚洲国产精品99久久久久久久久| 成人免费福利片| 青青草一区二区三区| 国产精品不卡在线观看| 欧美日韩日日夜夜| 成人av网站在线| 蜜臀国产一区二区三区在线播放 | 国产露脸91国语对白| 亚洲精品国产无套在线观 | 国产成人精品aa毛片| 亚洲18色成人| 亚洲欧美另类久久久精品| 精品国产一区a| 6080国产精品一区二区| 91免费精品国自产拍在线不卡| 老司机精品视频在线| 亚洲一卡二卡三卡四卡无卡久久| 久久久蜜桃精品| 精品少妇一区二区三区在线播放 | 麻豆精品视频在线观看免费| 亚洲丝袜制服诱惑| 国产精品久久久久婷婷二区次| 日韩欧美国产三级| 欧美一级在线视频| 91久久一区二区| 色综合色狠狠天天综合色| 丁香啪啪综合成人亚洲小说| 麻豆国产精品777777在线| 伊人婷婷欧美激情| 亚洲精品乱码久久久久久| 国产精品午夜免费| 国产精品污污网站在线观看| 精品国产乱码久久久久久夜甘婷婷 | 日本精品一级二级| 成人动漫一区二区在线| 成人av在线一区二区| 99久久国产综合精品色伊| 国产成人精品免费网站| 成人av资源下载| 97aⅴ精品视频一二三区| 成人午夜免费电影| 欧美日韩亚洲高清一区二区| 777欧美精品| 欧美xxx久久| 国产亚洲va综合人人澡精品| 国产精品三级电影| 亚洲女女做受ⅹxx高潮| 亚洲国产精品精华液网站| 亚洲成av人片在www色猫咪| 五月激情综合网| 亚洲午夜久久久| 日韩av中文字幕一区二区| 国内精品久久久久影院一蜜桃| 粉嫩在线一区二区三区视频| 99国产精品国产精品毛片| 粉嫩av一区二区三区粉嫩| 成人午夜视频网站| 欧美人xxxx| 日韩三级.com| 婷婷成人激情在线网| 国产精品久久久久久久久搜平片 | 亚洲欧美另类综合偷拍| 亚洲专区一二三| 丁香六月综合激情| 欧美一区中文字幕| 亚洲欧美在线观看| 精品无人码麻豆乱码1区2区 | 青青草原综合久久大伊人精品优势| 国产麻豆成人精品| 欧美日韩小视频| 久久久午夜电影| 精品亚洲欧美一区| 欧美日韩久久久一区| 亚洲精品久久7777| 成人av在线看| 国产精品久久久久7777按摩| 青青草原综合久久大伊人精品优势 | 日韩高清电影一区| 在线观看视频欧美| 欧美国产丝袜视频| 国产69精品久久777的优势| 日韩你懂的在线播放| 亚洲国产乱码最新视频| 成人av网站免费观看| 国产精品美女久久福利网站| 国产精品亚洲а∨天堂免在线| 欧美电影免费观看高清完整版在| 日韩电影在线观看一区| 欧美日韩色综合| 日本不卡一区二区| 欧美日韩性生活| 午夜a成v人精品| 欧美变态口味重另类| 国产剧情av麻豆香蕉精品| 国产午夜精品一区二区三区嫩草| 国产精品亚洲人在线观看| 中文子幕无线码一区tr| 99精品在线观看视频| 亚洲主播在线观看| 欧美xxxxxxxxx| 99视频精品免费视频| 亚洲成人动漫一区| 欧美精品一区二区精品网| 成人在线视频一区二区| 亚洲资源中文字幕| 久久久亚洲欧洲日产国码αv| 美日韩一区二区| 一区二区三区四区高清精品免费观看| 欧美亚洲国产怡红院影院| 国产精品一区二区在线观看网站| 国产精品国产三级国产| 欧美日韩久久不卡| 成人丝袜视频网| 久久99国产精品久久| 一区二区三区国产精品| 亚洲精品一区二区三区99| 在线免费亚洲电影| 国产成人免费av在线| 亚洲人成在线观看一区二区| 国产精品日产欧美久久久久| 555夜色666亚洲国产免| 在线免费观看日本一区| 成人午夜激情在线| 国产精品一区二区久久不卡 | 国产一区二区导航在线播放| 天堂va蜜桃一区二区三区| 欧美亚洲一区二区在线| 色噜噜狠狠成人中文综合 | 国产成人午夜精品影院观看视频| 蜜臀99久久精品久久久久久软件| 99精品视频在线播放观看| 日韩vs国产vs欧美| 中文字幕一区免费在线观看| 欧美本精品男人aⅴ天堂| 欧美日韩国产片| 欧美日韩一区高清| 欧美专区日韩专区| 欧美日韩国产首页| 欧美体内she精高潮| 欧美在线一区二区| 精品免费99久久| 精品国产一区二区在线观看| 精品福利av导航| 久久精品综合网| 亚洲欧洲美洲综合色网| 怡红院av一区二区三区| 亚洲高清视频中文字幕| 麻豆精品视频在线| 国产高清精品网站| 日本韩国一区二区| 精品国产伦一区二区三区观看方式 | 韩国精品久久久| av一区二区三区在线| 制服丝袜亚洲色图| 国产精品久久久爽爽爽麻豆色哟哟 | 激情深爱一区二区| 成人免费的视频| 欧美午夜不卡在线观看免费| 日韩精品专区在线影院观看| 国产精品国产a| 老司机免费视频一区二区| 成人免费高清视频| 欧美成人a视频| 亚洲成人动漫在线免费观看| 福利91精品一区二区三区| 5月丁香婷婷综合| 久久一区二区三区四区| 日韩精品亚洲一区二区三区免费| 国产在线播放一区| 欧美日本在线一区| 亚洲香蕉伊在人在线观|