usleep_range 用于非原子环境的睡眠,目前内核建议用这个函数优先替换之前udelay 其源码分析如下: void __sched usleep_range(unsigned long min, unsigned long max) { #得到最早wakeup的时间 ktime_t exp = ktime_add_us(ktime_get(), min); #计算必须要在max-min这个时间段wakeup,然后将这个时间转成ns u...
gpio_direction_output(sda,0);usleep_range(5,6);if(type) {/*ACK */gpio_direction_output(sda,0);usleep_range(5,6); gpio_direction_output(scl,1);usleep_range(5,6); gpio_direction_output(scl,0);usleep_range(5,6); }else{/* NAK */gpio_direction_output(sda,1);usleep_range(5,6);...
public static IEnumerable<int> Range(int stop) { for (int i = 0; i < stop; i++) yield return i; } public static IEnumerable<int> Range(int start, int stop) { for (int i = start; i < stop; i++) yield return i; } public static IEnumerable<int> Range(int start, int stop,...