男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
單片機POCSAG碼檢錯及糾錯
單片機POCSAG碼檢錯及糾錯
 更新時間:2008-7-26 20:30:49  點擊數:3
【字體: 字體顏色

*/ ***** POCSAG碼檢錯及糾錯 ***** /*

*/運行結果:Flag_Bits.VER_ER=0 , 接收正確或錯碼已被糾正;
      Flag_Bits.VER_ER=1,接收出錯且無法糾正;
      已完整接收的碼字:Code_Reg/*

unsigned long Code_Reg;  */Code_Reg:存放接收近來的POCSAG碼字;/*

*/糾錯用的錯誤圖樣數組/*
const unsigned int Err_s[]={0x3B4,0x1DA,0xED,0x3C2,0x1E1,0x344,0x1A2,0xD1,0x3DC,0x1EE,0xF7,0x3CF,0x253,0x29D,0x2FA,0x17D,0x30A,0x185,0x376,0x1BB,0x369,0x200,0x100,0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x1};

struct Bits
{
  POCSAG:1;  */接收到的POCSAG碼當前位的值/*
  VER_ER:1;  */出錯標志*/
}Flag_Bits;

void Rcv_POCSAG_Code(void)
{
  unsigned char Count;
  unsigned long Round_Reg;
  unsigned int Ver_Reg;

  Code_Reg=0;Ver_Reg=0;
  for(Count=31;Count>0;Count--)
  {
    ;
    /*這里包含讀入POCSAG碼一個位的指令,并把這一位存放在Flag_Bits.POCSAG中*/
    ;
    Code_Reg<<=1;Ver_Reg<<=1;
    if(Flag_Bits.POCSAG){Code_Reg++;Ver_Reg++;}
    if((Ver_Reg&0x400)>0)Ver_Reg^=0x769;
  }
  if(Ver_Reg>0)
  {
    Flag_Bits.VER_ER=1;Round_Reg=1;Count=31;
    do
    {
      if(Ver_Reg==Err_s[--Count])
      {
        Code_Reg^=Round_Reg;
        Flag_Bits.VER_ER=0;break;
      }
      Round_Reg<<=1;
    }while(Count>0);
  }
  ;
  /*讀入POCSAG碼的最后一位(奇偶校驗),并存放在Flag_Bits.POCSAG中*/
  ;
  Code_Reg<<=1;if(Flag_Bits.POCSAG){Code_Reg++;}
}

1、有細心的同行提出,糾錯的那一段應作如下的修改:

  if(Ver_Reg==0)
  {
   Flag_Bits.VER_ER=0; 
  }
  else
  {
    Flag_Bits.VER_ER=1;Round_Reg=1;Count=31;
    ;
    ;
  }

他的意見提的好,這樣修改后Flag_Bits.VER_ER才能嚴格反映校驗或糾錯的結果,各位同行如要引用這段程序時應給予注意。
其實,在原程序中,“/*這里包含讀入POCSAG碼一個位的指令,并把這一位存放在Flag_Bits.POCSAG中*/”中包括了一段軟件濾波程序,Flag_Bits.VER_ER在此用來反映軟件濾波的成敗,如果軟件濾波無法確定當前接收的信號是0還是1,則置Flag_Bits.VER_ER=1并立即返回上級程序,所以,Flag_Bits.VER_ER在執行校驗和糾錯之前已經清零。
根據BCH碼的檢錯算法和生成校驗碼的算法相同的特性可知,POCSAG碼校驗碼的生成程序可以這段程序稍加修改便可(糾錯那部分當然是要丟掉啦),在此不再贅述。

 

  • 上一篇: 功能強大的時鐘中斷
  • 下一篇: [組圖]TOP2000BS通用編程器
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 休宁县| 固阳县| 拜泉县| 十堰市| 禹城市| 锡林郭勒盟| 高雄市| 莎车县| 涡阳县| 山丹县| 香格里拉县| 河北区| 澄江县| 江川县| 苏尼特右旗| 濮阳市| 清徐县| 永胜县| 寻乌县| 灵川县| 和政县| 栾城县| 阳泉市| 永年县| 扎兰屯市| 宿州市| 老河口市| 宜州市| 凤阳县| 丹凤县| 宜阳县| 莱西市| 崇礼县| 眉山市| 巴彦淖尔市| 丘北县| 阳朔县| 阳朔县| 太湖县| 深州市| 博湖县|