原先打算用LPC2214上的SPI口读取编码器上的25位连续输出的数据,后来发现该SPI口只能读取连续8位的数据, 板子已经做出来了,现在打算用SPI口的MISO和SCK来模拟串口进行数据读取, 编码器的数据输出数率是100k~1000khz,用模拟的串口读取的话,不知道读取速率能否达到? 此外,能否用软件达到1us级的延时··· 大家给我点建议吧,该怎么做? T=0.9—11us t1>0.45us t2≤0.4us t3=12—35us 编码器数据传输:在时钟信号的第一个下降沿,数据存储,上升沿,传输, T是一个传输周期,t1是下降沿宽度,t2是上升沿产生时与数据输出的间隔时间,t3是新一轮传输的恢复信号宽度~~~ 我现在想法是用SCK模拟时钟口,MISO来读取数据,程序如下,想用软件产生us级的延时。 for(i=0, i++, i<25) { IO0CLR = SCK0; DELAY2uS; IO0SET = SCK0; DELAY0.5uS; ROQ_VALUE = ROQREAD(); } uint32 ROQREAD() { uint32 ROQ_BUF,ROQ_DATA; ROQ_BUF = IO0PIN&0x20; ROQ_BUF>>5; ROQ_DATA ^= ROQ_BUF; ROQ_DATA<<1; return ROQ_DATA; }
|