问题还没解决-- 请教 点击:680 | 回复:2



temp_DDC

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 8回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2003年7月09日
发表于:2006-07-28 12:52:00
楼主
看了neuron C 中的样板程序:
unsigned int wieg_array[4] ,breaker , nbits ;
IO_2 input wiegand timeout (IO_0) io_card_data ;
IO_0 output oneshot invert clock (7) io_pintimer  = 1 ;

when (TRUE)
   {
    for (breaker = 200 ; breaker;breaker--)
    {
    io_out(io_pintimer,19500UL);
         nbits = io_in(io_card_data,wieg_array,26) ;

         if (nbits) {
   

         } // end if
    } // end for
}

画瓢后下载到核心模块里 ,发现核心模块出了问题,绿灯闪烁(重复后同样问题出现) .

修改如下:
stimer repeating settime = 3;
...
//when (TRUE)
when (timer_expires (settime))
{
 
  
         for (i = 0;i<4;i++) {
          nvi[i] = wieg_array[i] ;
              } 
     
    for (breaker = 200 ; breaker;breaker--)
    {
        io_out(io_pintimer,19500UL);
         nbits = io_in(io_card_data,wieg_array,26) ;

         if (nbits) {
   

         } // end if
    } // end for
}

模块可以工作,但明显在timer_expires 事件中,反映网络变量通信失败(使用Lonmaker browser 浏览) . 反复检查是 nbits = io_in(io_card_data,wieg_array,26) 导致问题出现 .


请教各位老师们指导一下 .

谢谢.



金越

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 67回
  • 年度积分:0
  • 历史总积分:83
  • 注册:2001年9月12日
发表于:2006-07-30 15:59:00
1楼
3150没有中断 而现在的很多威根26的读卡器是有刷卡就输出信号 以前实验过 不能正确地接收数据 除了data0 data1 gnd外应该还需要一条信号线

temp_DDC

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 8回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2003年7月09日
发表于:2006-07-31 09:14:00
2楼
谢谢。

     理解中读卡器是有刷卡就输出信号,我可以得到一个预备刷卡的信号,我把它理解为某个网络变量发生了变化,但是在执行io_in(io_card_data,wieg_array,26)时,直接导致lonmaker其他网络更新失败,是Lonmaker在浏览网络变量的 BUG ? 

   可否给各电话,详细了解一下 。


热门招聘
相关主题

官方公众号

智造工程师