发表于: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) 导致问题出现 .
请教各位老师们指导一下 .
谢谢.