2014年10月21日 星期二

情況1:

原本板子上有SPI interface可以用,但因為某些原因,被佔用去,
所以解法就是『用GPIO模擬SPI』。
要先K一下SPI的spec,然後按他的規則,使用GPIO去『下cmd,丟data』等…
例如: 先丟 xxx,過 20 ns之後才能丟 ooo


情況2:
承上,板子上沒支援 nanosecond等級的timer,但又必需要用。
解法就是:  先用cpu frequency去推出  1ns可以做幾個instruction (假設CPI為1)
假設算出來是  1 inst/ ns,那當我想要有20ns的delay,我就用loop去做20道指令。


ps1: nanosecond timer,linux某個POSIX版本之後好像有support,但猜測是library沒porting上板子,所以才用此替代方案…,而且也還沒成功 XDDD。

沒有留言:

張貼留言