积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> DSP >> DSP代码示例
  相关分类: 应用论文 | TI DSP | 新产品 | 算法 | 下载 | DSP代码示例 | ADI DSP | freescale DSP |
蓝牙模块的2/3FEC接口函数(在CCS环境下编译通过)
 
作者:未知   来源:互联网    点击数:600   更新时间:2007-2-7
您可以添加到网摘 让更多人关注此文章:

    

蓝牙模块的2/3FEC接口函数(在CCS环境下编译通过)


#include "config.h"

/*  code_bit  */
uint16 g[15]={0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80,0x100,0x200,0x365,0x1AF,0x35E,0x1D9,0x3B2};

void FEC_code(uint16 *code_in, uint16 *code_out, uint8 len)
{
   uint8  i, j;
   uint16 a, val, code;
   uint16 mid[15];
   uint16 code_bit[15];
  
   for ( ; len > 0 ; len-- )
   {
       val = *code_in++;
      
    for(i=0;i<15;i++)
    {
       a = val&g[i];     
       for(j=0;j<10;j++)
    {
          mid[j] = a&1;
          a = a>>1;
    }
       code_bit[i] = mid[0];
      
       for(j=1;j<10;j++)
         code_bit[i] = code_bit[i]^mid[j];
    }
    code = 0;
    for(i=0;i<15;i++)
    {
        code |= (code_bit[i]<<i);
    }
    *code_out++ = code;
 }      
}

/* decode and correct */
uint16 check[5]={0x765,0x9AF,0x135E,0x21D9,0x43B2};  /*the check array*/

void FEC_decode(uint16 *code_in, uint16 *code_out, uint8 len)
{
  uint8  i, j;
  uint16 a, val, code;
  uint16 mid[15];
  uint16 code_bit[15]; 
  uint16 check_out[5];
  uint16 errorflag,matchbit,matchflag,comparebit;
 
  for ( ; len > 0 ; len-- )
  {
     val = *code_in++;
       
   a = val;
   for (i=0;i<15;i++)      /*change the data received into bits*/
   {
   code_bit[i] = a&1;
      a = a>>1;
   }

   for(i=0;i<5;i++)        /*caculate the cheksum*/
   { 
   a = val&check[i];
      for(j=0;j<15;j++)    /*get every bit of a */
   {
      mid[j] = a&1;
      a=a>>1;
   }
      check_out[i] = mid[0];
      for(j=1;j<15;j++)
         check_out[i]=check_out[i]^mid[j]; /*add the bits in mode 2*/
   }

   i=0;
   errorflag=0; 
   do
   {
      if(check_out[i]==1)
      {
       errorflag=1;
       i=5;
      }
      else
       i++;
   }
   while (i<5);      /* check if the check is all 0 */

   if (errorflag==1)
   {  
      i=0; 
      matchbit=100;      /* look for the same line*/
       do 
    {
     j=0;
     matchflag=1;
        do
     {
      comparebit=(check[j]>>i)&1; /* get the [j][i] bit of the array*/
         if (check_out[j]!=comparebit)
      {
       j=5;
       matchflag=0;
      }                /*not coincident,jump out at once*/
               else
                   j++;
     }
           while (j<5);
        
     if (matchflag==1)
     {
     matchbit=i;
     i=15;
     }               /*if found,jump out at once*/
        else
           i++;
     }
        while (i<15);
     
     if (matchbit<=14)
        {
          code_bit[matchbit]=code_bit[matchbit]^1;    /*correct the error bit*/
        }
     }
     code = 0;
     for(i=0;i<10;i++)
     {
         code |= (code_bit[i]<<i);
     }
     *code_out++ = code;
    }
}



相关文章
· 科技奥运与计算机技术的应用[426]
· Electromedical[2693]
· 患者监控[2743]
· 基于TMS320LF2407A DSP的心电监护系统研究[3187]
· 用S3C2410实现三导联远程心电监护系统[3097]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
严冬期如何发展半导体业 扩
2008年中国集成电路市场回顾与展望
分析师:亚洲芯片厂商库存远超预期
2008年基础电子业十大事件点评
Aptina并购智多微手机软件平台设
凌力尔特公司推出用于多核处理器的&n
安森美半导体任命麦满权为韩国及南亚区
Broadcom:半导体产业依然机会
飞思卡尔推i.MX51芯 
日立芯片守卫新年倒数计时晚会
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
低价专业PCB打样 双面板20...
深圳市天漠科技超低价供应atm...
深圳市天漠科技超低价供应ARM...
[推荐]2.5米精度,高灵敏度...
830实验箱+电脑没有并口...
[原创]平望科技助力自服终端国...
低价专业PCB打样 双面板20...
[原创]低价专业PCB打样 双...
Bootloader for ...
【有奖调查】08-09嵌入式开...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网