搜索
bottom↓
回复: 5

EM4100卡的校验问题

[复制链接]
(198107714)

出0入0汤圆

发表于 2014-7-22 20:12:05 | 显示全部楼层 |阅读模式

在EM4100的数据手册上看到P0~P9和PC0~PC3分别是行和列的奇校验,但怎么在实际检测中感觉是偶校验啊。
有了解的朋友能帮忙解释下吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
(198060315)

出0入0汤圆

发表于 2014-7-23 09:22:04 | 显示全部楼层
P0-P9是偶校验,PC0-PC3是奇校验
(198045055)

出0入0汤圆

 楼主| 发表于 2014-7-23 13:36:24 | 显示全部楼层
lyp103 发表于 2014-7-23 09:22
P0-P9是偶校验,PC0-PC3是奇校验

3Q  所有的4100卡都是这样校验的吧?
(198015593)

出0入0汤圆

 楼主| 发表于 2014-7-23 21:47:26 | 显示全部楼层
lyp103 发表于 2014-7-23 09:22
P0-P9是偶校验,PC0-PC3是奇校验

看了好几个别人的程序,行和列用的都是偶校验。还有目前找到的一些中文资料,也都是写的偶校验

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
(197973572)

出0入0汤圆

发表于 2014-7-24 09:27:47 | 显示全部楼层
呵呵 我重新看了一下资料,是我写错了,都是偶校验的
(42619025)

出0入0汤圆

发表于 2019-6-26 11:30:14 | 显示全部楼层
void check()
{
  unsigned char i,j,counter;
  unsigned char cache,cache_1;
  unsigned char c;
  
  for(i=2;i<10;i++)
  {
    counter=0;
    cache=g_ucData[i];
    cache_1=g_ucData[i];
    for(j=0;j<4;j++)
    {
      cache&=0x80;   //计算有几个1
      if(cache==0x80)
      {
        counter++;  
      }
      cache_1 <<=1;
      cache=cache_1;
   
    }
   
    if((counter==0) ||(counter==2) ||(counter==4))
    {
        check_bit=0;
    }
    else if((counter==1) || (counter ==3))
    {
        check_bit=1;
   
    }
    c=g_ucData[i];
    c&=0x08;
    if(c==0x08)
    {
      PC_bit=1;
    }
    else
    {
      PC_bit=0;
   
    }
    if(check_bit==PC_bit)   
    {
        flag= 1;  //表示检验正确
    }
    else
    {
        
        flag=0;
        LED_ON;
    }
    if(flag==0)
    {
      return;
    }
   
  }
}


怎么感觉有问题,不符合的也可以打印出来 大神帮我看看呗
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-10-31 18:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表