发表于:2006-05-25 21:41:00
楼主
我在书上看到 Edgelog输入,
unsigned int count;
unsigned long input-buffer[buffer-size];
count=io_in(io_object-name,input-buffer,count);
io_in()函数需要一指向数据缓存的指针。"存储的值代表上升和下降的输入信号边沿之间的时钟周期单位。"
我理解的是 如某一设备发出的脉冲input-buffer[]中放的是既有高电平又有低电平的持续时间值(但单位不是时间,而是时钟周期的个数),对吗???
IO_4 input edgelog clock(7) stream;
IO_4 input bit stream_l;
unsigned int edges;
unsigned long in_buffer[120];
unsigned int pre_load=0x4000;
....
when(reset)
{io_edgelog_preload(pre_load);}
when(io_changes(stream_l)to 1)
{int i;
//检索边沿记录
edges=io_in(stream,in_buffer,20);
//对预先装入的位移量进行修正
for(i=0;i<edges;i++)
in_buffer[i]+=pre_load;
//数据处理
.....
}
请问“//对预先装入的位移量进行修正”什么意思为什么这么做????
“ //检索边沿记录”什么意思?? edges是否==20 ????