树莓派 DHT11 传感器与 Nunchuk 鼠标项目详解
1. DHT11 传感器相关
1.1 计算纳秒级时间差函数 ns_diff()
static inline long
ns_diff(struct timespec *t0,struct timespec *t1) {
int dsec = (int)(t1->tv_sec - t0->tv_sec);
long dns = t1->tv_nsec - t0->tv_nsec;
assert(dsec >= 0);
dns += dsec * 1000000000L;
return dns;
}
该函数用于计算两个时间点之间的纳秒级时间差。通过计算秒差和纳秒差,并将秒差转换为纳秒后相加得到最终结果。
1.2 主循环逻辑
主循环位于 main() 函数中,主要操作步骤如下:
gpio_open();
gpio_configure_io(gpio_pin,Output);
gpio_write(gpio_pin,1);
for (;; ++reading) {
wait_ready();
gpio_write(gpio_pin,1);
gpio_configure_io(gpio_pin,Output);
wait_ms(3);
}
超级会员免费看
订阅专栏 解锁全文

1664

被折叠的 条评论
为什么被折叠?



