wjshmily 发表于 2010-8-25 09:44:32

请教:M16中断韦根读卡,AVRStudio仿真读卡正确,但是用串口调试时候发现发送卡号有时候3

void main(void)
{
       DeviceInit();
       while(1)
       {
                KeyRead();
                KeyProc();
                wiegand_rxc();
               
                while(1)
                {
                       if(IntrCnt>2)//每20ms跳出执行大循环
                        {
                               IntrCnt=0;
                                break;
                        }
                }
       }
}
//10mS定时器0中断处理函数
#pragma interrupt_handler T0COMP:20
void T0COMP(void)
{
       IntrCnt++;
}

#define ReceiveOnPORTD&=0xBF
#define TransmitOn PORTD|=0x40

unsigned char bit_cnt=0,byte_cnt=0,wiegand={0},wg_store={0},mark=0x80;
unsigned char k=0;
unsigned char sounddelay=0;//蜂鸣器声音记数
void wiegand_rxc(void)
{
   if(bit_cnt==26)
   {
                  sounddelay++;
      bit_cnt=0;
      byte_cnt=0;
      SoundReadCard();
                TransmitOn;
         for(k=0;k<5;k++)
           {
                    wg_store=wiegand;
           uart_transmit(wg_store);//通过串口发送储存的卡号,
          }
       ReceiveOn;
            for(k=0;k<5;k++)
            {
                       wiegand=0x00;
            }
               
           
          }
       if(sounddelay!=0)
       {
                          sounddelay++;
                        if(sounddelay==11)//延时200MS关闭声音
                        {
                                       sounddelay=0;
                                        SoundOff();
                        }
       }
}

wjshmily 发表于 2010-8-25 10:06:57

自己先顶一个

123bac 发表于 2015-3-6 14:40:42

先看一看11{:smile:}{:biggrin:}{:biggrin:}{:biggrin:}{:biggrin:}{:biggrin:}
页: [1]
查看完整版本: 请教:M16中断韦根读卡,AVRStudio仿真读卡正确,但是用串口调试时候发现发送卡号有时候3